WordPress: Creu Sidebars yn Awtomatig ar gyfer Pob Categori

Swyddogaeth i Gofrestru Bariau Ochr ar gyfer Pob Categori WordPress

Rwyf wedi bod yn symleiddio'r wefan hon i wella amseroedd cyflymder ac i geisio monetize y wefan yn well heb gythruddo fy darllenwyr. Mae sawl ffordd rydw i wedi monetized y wefan ... dyma nhw o'r mwyaf proffidiol i'r lleiaf proffidiol:

  • Nawdd uniongyrchol gan gwmnïau partner. Rydym yn gweithio ar strategaethau ar y cyd sy'n ymgorffori popeth o weminarau i gyfranddaliadau cyfryngau cymdeithasol i hyrwyddo eu digwyddiadau, eu cynhyrchion a / neu eu gwasanaethau.
  • marchnata Affiliate o amrywiaeth o lwyfannau cyswllt. Rwy'n sgwrio ac yn adnabod y cwmnïau, yn sicrhau eu bod yn enw da, ac yn rhannu erthyglau penodol rwy'n eu hysgrifennu neu hysbysebion y maen nhw'n eu darparu.
  • Marchnata adnoddau gan bartner sy'n rhyddhau digwyddiadau cysylltiedig â marchnata, astudiaethau achos, a phapurau gwyn.
  • Hysbysebu baner o Google lle mae hysbysebion perthnasol yn cael eu gwasgaru'n awtomatig trwy fy nhempled a'm cynnwys.

Bariau Ochr WordPress

Gyda marchnata cysylltiedig yn darparu rhywfaint o refeniw gweddus, penderfynais fy mod eisiau tynnu sylw hysbysebwyr penodol iawn yn seiliedig ar gategori’r wefan, felly roeddwn i eisiau creu’r bariau ochr yn ddeinamig heb orfod codio pob bar ochr ar y wefan yn galed. Fel hyn, os byddaf yn ychwanegu categori - mae'r bar ochr yn ymddangos yn awtomatig yn fy ardal Widget a gallaf ychwanegu hysbyseb.

I wneud hyn, roeddwn i angen rhywfaint o god penodol yn y functions.php ffeil o thema fy mhlentyn. Diolch byth, darganfyddais fod rhywun eisoes wedi ysgrifennu bron popeth yr oeddwn ei angen: Creu Bariau Ochr Widgetized ar gyfer Pob Categori yn WordPress. Roeddwn i eisiau rhai rheolaethau ychwanegol dros ba gategorïau yr hoffwn i arddangos y bariau ochr ynddynt.

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

Gyda'r amrywiaeth o ddadleuon dros adfer categorïau, gallaf gynnwys ac eithrio unrhyw gategorïau yr hoffwn eu targedu. Yn y datganiad foreach, gallaf addasu a chyfateb y cynllun â fformatio bar ochr cyffredinol fy safle WordPress.

Yn ogystal, yn fy functions.php, Rwyf am ychwanegu swyddogaeth i weld a yw bar ochr yn bodoli ac a oes teclyn wedi'i ychwanegu ato:

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

Yna, o fewn thema fy thema sidebar ffeil templed, rwy'n ychwanegu cod i arddangos yr ardal yn ddeinamig os yw'r bar ochr wedi'i gofrestru a bod teclyn ynddo.

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

Bariau Ochr WordPress ar gyfer Pob Categori

Y canlyniad yw'r union beth roeddwn i eisiau:

Bariau Ochr Widget WordPress ar gyfer Pob Categori

Nawr, ni waeth a ydw i'n ychwanegu, golygu, neu ddileu categorïau ... bydd fy ardaloedd bar ochr bob amser yn gyfredol!

Beth ydych chi'n feddwl?

Mae'r wefan hon yn defnyddio Akismet i leihau sbam. Dysgwch sut mae eich data sylwadau yn cael ei brosesu.