WordPress: Sortu alboko barrak automatikoki kategoria bakoitzerako

WordPress kategoria bakoitzeko alboko barrak erregistratzeko funtzioa

Gune hau sinplifikatu dut abiadura denborak hobetzeko eta webgunea hobeto irabazten saiatzeko, nire irakurleak haserretu gabe. Gunea dirua irabazteko modu ugari daude ... hemen irabazienetik gutxienera irabazten dutenak daude:

  • Zuzeneko babesak bazkide diren enpresetatik. Web mintegietatik hasi eta sare sozialetako partekatzeetara biltzen dituzten estrategia kolektiboak lantzen ditugu, haien gertaerak, produktuak eta / edo zerbitzuak sustatzeko.
  • Afiliatuen marketina kidea den plataforma ugari batetik. Enpresak arakatu eta identifikatzen ditut, entzute ona dutela ziurtatzen dut eta idazten ditudan artikulu zehatzak edo ematen dituzten iragarkiak partekatzen ditut.
  • Baliabideen merkaturatzea askatzen duen bikotekidearena marketinarekin lotutako gertaerak, kasu azterketak eta liburu zuriak.
  • Banderaren publizitatea Google-k iragarki garrantzitsuak automatikoki sakabanatzen dira nire txantiloiaren eta edukiaren bidez.

WordPress alboko barrak

Kidetzako marketinak diru-sarrera dezenteak ematen zituenez, webgunearen kategorian oinarritutako iragarle oso zehatzak nabarmendu nahi nituela erabaki nuen, beraz, alboko barrak dinamikoki sortu nahi nituen guneko alboko barra bakoitza gogor kodetu beharrik izan gabe. Horrela, kategoria bat gehitzen badut - alboko barra automatikoki agertzen da nire Widget eremuan eta iragarki bat gehi dezaket.

Horretarako, kode zehatz batzuk behar nituen functions.php nire haurraren gaiaren fitxategia. Zorionez, aurkitu nuen norbaitek jada behar nuen guztia idatzi zuela: Sortu Widgetized Sidebars Kategoria bakoitzerako WordPress-en. Alboko barrak bistaratu nahi ditudan kategorien gaineko kontrol osagarriak nahi nituen.

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

Kategoriak berreskuratzeko argudioen sortarekin, bideratu nahi ditudan kategoriak sar eta bazter ditzaket. Foreach adierazpenaren barruan, diseinua aldatu eta parekatu dezaket nire WordPress gune orokorraren alboko barraren formatuarekin.

Gainera, nire functions.php, Funtzio bat gehitu nahi dut alboko barra bat badagoen eta trepeta bat gehitzen zaion ikusteko:

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

Gero, nire gaiaren barruan sidebar txantiloi fitxategia, kodea gehitzen dut eremua dinamikoki bistaratzeko alboko barra erregistratuta badago eta trepeta bat badago.

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

Kategoria bakoitzerako WordPress alboko barrak

Emaitza nik nahi nuena da:

Kategoria bakoitzerako WordPress Widget alboko barrak

Orain, kategoriak gehitu, editatu edo ezabatzen ditudan kontuan hartu gabe ... alboko barrako eremuak eguneratuta egongo dira beti!

Zer deritzozu?

Gune honek Akismet-ek spam erabiltzen du. Ikasi zure iruzkina nola prozesatu den.