WordPress: Cruthaich Sidebars gu fèin-ghluasadach airson gach roinn

Dreuchd airson Bannan-taobh a chlàradh airson gach roinn WordPress

Tha mi air a bhith a ’sìmpleachadh an làrach seo gus amannan astair a leasachadh agus feuchainn ri monetize an làrach nas fheàrr gun a bhith a’ cur nàire air mo luchd-leughaidh. Tha mi air iomadh làrach a dhèanamh air an làrach ... an seo tha iad bhon mhòr-chuid gu buannachdail:

  • Taic-airgid dìreach bho chompanaidhean com-pàirteach. Bidh sinn ag obair air ro-innleachdan coitcheann a tha a ’toirt a-steach a h-uile càil bho webinars gu earrannan meadhanan sòisealta gus na tachartasan, toraidhean, agus / no seirbheisean aca adhartachadh.
  • Affiliate margaideachd bho ghrunn àrd-ùrlaran ceangailte. Bidh mi a ’sgùradh agus ag aithneachadh nan companaidhean, a’ dèanamh cinnteach gu bheil iad cliùiteach, agus a ’roinn artaigilean sònraichte a sgrìobhas mi no sanasan a bheir iad seachad.
  • Margaidheachd ghoireasan bho chom-pàirtiche a bhios a ’leigeil ma sgaoil tachartasan co-cheangailte ri margaidheachd, sgrùdaidhean cùise, agus pàipearan geal.
  • Sanasachd bratach bho Google far a bheil sanasan buntainneach air an sgapadh gu fèin-ghluasadach tron ​​teamplaid agus an t-susbaint agam.

WordPress Sidebars

Le margaidheachd ceangailte a ’toirt seachad beagan teachd-a-steach reusanta, cho-dhùin mi gu robh mi airson aire a thoirt do luchd-sanasachd sònraichte stèidhichte air roinn na làraich, agus mar sin bha mi airson na bàraichean-taobh a chruthachadh gu dinamach gun a bhith agam ri còd cruaidh a dhèanamh air gach bàr-taobh air an làrach. San dòigh seo, ma chuireas mi roinn ris - bidh am bàr-taobh a ’nochdadh gu fèin-ghluasadach san sgìre Widget agam agus is urrainn dhomh sanas a chuir ris.

Gus seo a dhèanamh, bha feum agam air còd sònraichte anns an functions.php faidhle de chuspair mo phàiste. Gu fortanach, fhuair mi a-mach gu robh cuideigin air cha mhòr a h-uile dad a bha a dhìth orm a sgrìobhadh: Cruthaich Bannan-taoibh Widgetized airson gach roinn ann an WordPress. Bha mi dìreach ag iarraidh beagan smachd a bharrachd air na roinnean a dh ’fhaodadh mi a bhith airson na bàraichean-taobh a thaisbeanadh.

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

Leis an raon de dh ’argumaidean airson roinnean fhaighinn air ais, is urrainn dhomh roinnean sam bith a tha mi airson a chuimseachadh a ghabhail a-steach agus a thoirmeasg. Taobh a-staigh an aithris foreach, is urrainn dhomh an cruth atharrachadh agus a mhaidseadh ri cruth bàr-taobh iomlan mo làrach WordPress.

A bharrachd air an sin, anns na functions.php, Tha mi airson gnìomh a chuir ris gus faicinn a bheil bàr-taobh ann agus a bheil widget air a chur ris:

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

An uairsin, taobh a-staigh cuspair mo chuspair bàr-taoibh faidhle teamplaid, cuiridh mi còd gus an sgìre a thaisbeanadh gu beothail ma tha am bàr-taobh clàraichte agus gu bheil widget ann.

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

Bannan-taobh WordPress airson gach roinn

Is e an toradh dìreach na bha mi ag iarraidh:

Bannan-taobh Widget WordPress airson gach roinn

A-nis, ge bith a bheil mi a ’cur, a’ deasachadh, no a ’cuir às do roinnean ... bidh na raointean bàr-taobh agam an-còmhnaidh ùraichte!

Dè do bheachd?

Tha an làrach seo a 'cleachdadh Akismet gus spama a lùghdachadh. Ionnsaich mar a thathar a 'pròiseasadh an dàta bheachdan agad.