WordPress: Hər bir kateqoriya üçün avtomatik olaraq kənar çubuqlar yaradın

Hər WordPress kateqoriyası üçün yan çubuqların qeydiyyatı funksiyası

Sürət müddətlərini yaxşılaşdırmaq və oxucularımı qıcıqlandırmadan saytdan daha yaxşı pul qazanmağa çalışmaq üçün bu saytı sadələşdirdim. Saytı pul qazanmağım bir çox yolu var ... burada ən az gəlirli olana qədər:

  • Birbaşa sponsorluqlar tərəfdaş şirkətlərdən. Tədbirlərini, məhsullarını və / və ya xidmətlərini tanıtmaq üçün veb seminarlardan sosial media paylaşımlarına qədər hər şeyi özündə birləşdirən kollektiv strategiyalar üzərində işləyirik.
  • Affiliate marketing bir sıra ortaqlıq platformalarından. Şirkətləri axtarıb tapıram, nüfuzlu olduqlarını təmin edirəm, yazdığım xüsusi məqalələri və ya təqdim etdikləri reklamları paylaşıram.
  • Resurs marketinqi buraxan bir ortaqdan marketinqlə əlaqəli hadisələr, işlər və ağ sənədlər.
  • Banner reklamı müvafiq reklamların şablonum və məzmununa görə avtomatik olaraq paylandığı Google-dan.

WordPress Kenar Çubuqları

Müvafiq bir gəlir təmin edən ortaq marketinqlə saytın kateqoriyasına əsaslanaraq çox xüsusi reklam verənləri diqqət mərkəzində saxlamaq istədiyimə görə, saytdakı hər yan panelə sərt kod yazmadan dinamik olaraq kənar panellər yaratmaq istədim. Bu yolla, bir kateqoriya əlavə etsəm - kənar çubuq avtomatik olaraq Widget sahəmdə görünür və bir reklam əlavə edə bilərəm.

Bunu etmək üçün functions.php uşağımın mövzusundakı sənəd. Şükürlər olsun ki, kimsə ehtiyac duyduğum hər şeyi artıq yazdığını gördüm: WordPress-də hər bir kateqoriya üçün Widgetized Kenar çubuqlar yaradın. Yalnız yan panelləri göstərmək istədiyim kateqoriyaya əlavə nəzarət etmək istədim.

function add_category_sidebars() {
    $args = array(
        'type'                     => 'post',
        'orderby'                  => 'name',
        'order'                    => 'ASC',
        'hide_empty'               => 1,
        'hierarchical'             => 1,
        'exclude'                  => '',
        'include'                  => '',
        'number'                   => '',
        'taxonomy'                 => 'category'
        ); 
    
    $categories = get_categories($args);

    foreach ($categories as $category) {
        if (0 == $category->parent)
            register_sidebar( array(
                'name' => $category->cat_name,
                'id' => $category->category_nicename . '-sidebar',
                'description' => 'This is the ' . $category->cat_name . ' widgetized area',
                'before_widget' => '<aside id="%1$s" class="widget %2$s">',
                'after_widget' => '</aside>',
                'before_title' => '<h3 class="widget-title">',
                'after_title' => '</h3>',
            ));
        }
}
add_action( 'widgets_init', 'add_category_sidebars' );

Kategoriyaların alınması üçün bir sıra arqumentlərlə hədəf almaq istədiyim kateqoriyalara daxil ola bilərəm. Əvvəlcədən verilən açıqlamada düzeni ümumi WordPress saytımın kenar çubuğu formatlamasına dəyişə və uyğunlaşdıra bilərəm.

Əlavə olaraq, mənim functions.php, Bir kenar çubuğunun olub olmadığını və ona bir widget əlavə etdiyini görmək üçün bir funksiya əlavə etmək istəyirəm:

function is_sidebar_active($cat_name) {
    global $wp_registered_sidebars;
    $cat_id = get_cat_ID($cat_name);
    $widgetlist = wp_get_sidebars_widgets();
    if ($widgetlist[$cat_id])
        return true;
    return false;
}

Sonra mövzum daxilində sidebar şablon faylı, kenar çubuğu qeydə alınmışsa və içərisində bir widget varsa ərazini dinamik olaraq göstərmək üçün kod əlavə edirəm.

$queried_object = get_queried_object();
if ($queried_object) {
    $post_id = $queried_object->ID;
}
if(is_category() || in_category($cat_name, $post_id)) {
    $sidebar_id = sanitize_title($cat_name);
    if( is_sidebar_active($sidebar_id)) {
        dynamic_sidebar($sidebar_id);
    }
}

Hər Kateqoriya üçün WordPress Kenar Çubuqları

Nəticə tam olaraq istədiyim şeydir:

Hər bir kateqoriya üçün WordPress Widget Kenar Çubuqları

İndi kateqoriyalar əlavə etməyim, redaktə etməyim və ya silməyimdən asılı olmayaraq ... yan panellərim həmişə yenilənəcəkdir!

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.