WordPress: Awtomatikong Paghimo Sidebars Alang sa Matag Kategoryang

Pag-andar sa Pagrehistro sa mga Sidebars alang sa Matag Kategoryang WordPress

Gipasimplehan nako ang kini nga site aron mapaayo ang mga oras sa tulin ug aron masulayan nga pangitaon ang site labi ka maayo nga dili makasuko sa akong mga magbasa. Daghang mga paagi nga gipangita nako ang site… dinhi sila gikan sa kadaghanan hangtod sa labing kapuslan:

  • Direkta nga sponsorship gikan sa mga kauban nga kompanya. Nagtrabaho kami sa mga hiniusa nga estratehiya nga gilakip ang tanan gikan sa mga webinar hangtod sa mga bahin sa social media aron ipromote ang ilang mga kalihokan, produkto, ug / o serbisyo.
  • Kaayohan sa marketing gikan sa usa ka han-ay sa mga kauban nga platform. Gisusi ug giila nako ang mga kompanya, gisiguro nga sila kasaligan, ug nag-ambit sa piho nga mga artikulo nga gisulat nako o mga ad nga gihatag nila.
  • Pagpamaligya sa gigikanan gikan sa kauban nga nagpagawas mga panghitabo nga may kalabotan sa pagpamaligya, mga pagtuon sa kaso, ug puti nga papel.
  • Advertising sa panihapon gikan sa Google diin ang mga may kalabutan nga ad awtomatikong nagkatibulaag pinaagi sa akong template ug sulud.

Mga Sidebars sa WordPress

Sa kauban nga pamaligya sa marketing nga naghatag pipila ka disente nga kita, nakadesisyon ako nga gusto nako nga hatagan gyud punto ang piho nga mga tig-anunsyo pinahiuyon sa kategorya sa site, busa gusto nako nga padasigon nga himuon ang mga sidebar nga dili kinahanglan nga mag-hard code ang matag sidebar sa site. Niining paagiha, kung magdugang ako usa ka kategorya - awtomatikong makita ang sidebar sa akong Widget area ug makadugang ako usa ka ad.

Aron mahimo kini, kinahanglan nako ang piho nga code sa Functions.php file sa akong anak nga tema. Salamat, nahibal-an nako nga adunay usa nga nakasulat hapit sa tanan nga akong kinahanglan: Paghimo Widgetized Sidebars alang sa Matag Kategoryo sa WordPress. Gusto lang nako ang pipila nga dugang nga kontrol kung unsang mga kategorya ang gusto nako ipakita ang mga sidebar.

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

Sa mga han-ay sa mga lantugi alang sa pagkuha og mga kategorya, mahimo nakong iupod ug dili iapil ang bisan unsang mga kategorya nga gusto nakong i-target. Sulod sa pahayag sa unahan, mahimo nako mabag-o ug maparehas ang layout sa pag-format sa sidebar sa akong kinatibuk-ang site sa WordPress.

Dugang pa, sa akong Functions.php, Gusto nakong idugang ang usa ka function aron makita kung adunay usa ka sidebar ug adunay usa ka widget nga gidugang niini:

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

Pagkahuman, sulod sa akong tema sidebar template file, nagdugang ako code aron madasig nga ipakita ang lugar kung ang sidebar narehistro ug adunay usa ka widget niini.

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

Mga Sidebars sa WordPress alang sa Matag Kategoryang

Ang sangputanan mao gyud ang akong gusto:

Mga Widget sa Widget sa WordPress alang sa Matag Kategoryang

Karon, dili igsapayan kung dugangan, gi-edit, o gitangtang nako ang mga kategorya… kanunay nga bag-o ang akong mga sidebar nga lugar!

Unsay imong hunahuna?

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.