„WordPress“: automatiškai sukurkite šonines juostas kiekvienai kategorijai

Funkcija registruoti šonines juostas kiekvienai „WordPress“ kategorijai

Supaprastinau šią svetainę, siekdamas pagerinti spartos laiką ir bandydamas geriau uždirbti iš svetainės, neerzindamas savo skaitytojų. Yra keli būdai, kaip užsidirbti iš svetainės ... čia jie yra nuo mažiausio iki pelningiausio:

  • Tiesioginis rėmimas iš partnerių kompanijų. Mes dirbame su kolektyvinėmis strategijomis, kurios apima viską, pradedant internetiniais seminarais ir baigiant socialinės žiniasklaidos priemonėmis, siekiant reklamuoti jų renginius, produktus ir (arba) paslaugas.
  • Partnerių marketingas iš filialų platformų masyvo. Aš tyrinėju ir identifikuoju įmones, užtikrinu, kad jos būtų gerbiamos, ir dalinuosi konkrečiais rašomais straipsniais ar jų pateikiamais skelbimais.
  • Išteklių rinkodara iš partnerio, kuris paleidžia su rinkodara susiję renginiai, atvejų analizė ir baltosios knygos.
  • Banerių reklama iš „Google“, kur atitinkami skelbimai automatiškai paskleidžiami per mano šabloną ir turinį.

„WordPress“ šoninės juostos

Dukterinė rinkodara, teikianti nemažas pajamas, nusprendžiau atkreipti dėmesį į labai konkrečius reklamuotojus, atsižvelgdama į svetainės kategoriją, todėl norėjau dinamiškai sukurti šonines juostas nereikalaudama koduoti kiekvienos svetainės šoninės juostos. Tokiu būdu, jei pridedu kategoriją - šoninė juosta automatiškai pasirodo mano valdiklio srityje ir galiu pridėti skelbimą.

Norėdami tai padaryti, man reikėjo konkretaus kodo functions.php mano vaiko temos failas. Laimei, radau, kad kažkas jau parašė beveik viską, ko man reikėjo: Sukurkite valdiklius šonines juostas kiekvienai „WordPress“ kategorijai. Aš tiesiog norėjau papildomų valdiklių, kuriose kategorijose norėčiau rodyti šonines juostas.

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' );

Turėdamas daugybę kategorijų gavimo argumentų, galiu įtraukti ir išskirti visas kategorijas, kurias noriu taikyti. Foreach pareiškime aš galiu modifikuoti ir suderinti maketą su savo bendrosios „WordPress“ svetainės šoninės juostos formatavimu.

Be to, mano functions.php, Noriu pridėti funkciją, kad sužinotumėte, ar yra šoninė juosta ir ar nėra jos valdiklio:

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;
}

Tada mano temoje parankinės šablono failą, pridedu kodą, kad dinamiškai atvaizduočiau sritį, jei šoninė juosta yra užregistruota ir joje yra valdiklis.

$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);
    }
}

„WordPress“ šoninės juostos kiekvienai kategorijai

Rezultatas yra būtent tai, ko aš norėjau:

„WordPress“ valdiklių šoninės juostos kiekvienai kategorijai

Dabar, nepaisant to, ar pridedu, ar redaguoju, ar ištrinu kategorijas ... mano šoninės juostos sritys visada bus atnaujintos!

Ką manote?

Ši svetainė naudoja "Akismet", kad sumažintų šlamštą. Sužinokite, kaip apdorojamas jūsų komentaras.