WordPress: Cruthaigh Sidebars go huathoibríoch do gach Catagóir

Feidhm chun Barraí Taobh a Chlárú do gach Catagóir WordPress

Bhí mé ag simpliú an láithreáin seo chun luasanna a fheabhsú agus chun iarracht a dhéanamh monetize níos fearr a dhéanamh ar an suíomh gan greann a chur ar mo léitheoirí. Is iomaí bealach a ndearna mé monetized ar an suíomh ... anseo tá siad ón mbrabús is lú agus is brabúsaí:

  • Urraí díreacha ó chuideachtaí comhpháirtíochta. Oibrímid ar straitéisí comhchoiteanna a chuimsíonn gach rud ó sheimineáir ghréasáin go scaireanna sna meáin shóisialta chun a gcuid imeachtaí, táirgí agus / nó seirbhísí a chur chun cinn.
  • Affiliate margaíochta ó shraith ardáin chleamhnaithe. Scríobhaim agus aithním na cuideachtaí, cinntím go bhfuil siad measúil, agus roinnim ailt ar leith a scríobhaim nó fógraí a sholáthraíonn siad.
  • Margaíocht acmhainní ó pháirtí a scaoileann imeachtaí a bhaineann le margaíocht, cás-staidéir, agus páipéir bhána.
  • Fógraíocht meirge ó Google áit a scaiptear fógraí ábhartha go huathoibríoch trí mo theimpléad agus ábhar.

Barraí Taobh WordPress

Agus margaíocht chleamhnaithe ag soláthar roinnt ioncaim mhaith, chinn mé go raibh mé ag iarraidh aird a tharraingt ar fhógróirí an-sainiúla bunaithe ar chatagóir an láithreáin, agus mar sin theastaigh uaim na barraí taobh a chruthú go dinimiciúil gan aon chód crua a bheith agam ar gach barra taobh ar an láithreán. Ar an mbealach seo, má chuirim catagóir leis - feictear an barra taobh go huathoibríoch i mo cheantar Giuirléid agus is féidir liom fógra a chur leis.

Chun seo a dhéanamh, bhí cód sonrach de dhíth orm sa functions.php comhad de théama mo pháiste. Buíochas le Dia, fuair mé amach go raibh beagnach gach rud a bhí ag teastáil uaim scríofa ag duine cheana féin: Cruthaigh Taobhbharra Giuirléidí do gach Catagóir i WordPress. Níor theastaigh uaim ach roinnt rialuithe breise ar na catagóirí ar mhaith liom na barraí taobh a thaispeáint iontu.

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 iliomad argóintí maidir le catagóirí a aisghabháil, is féidir liom aon chatagóirí ar mhaith liom díriú orthu a áireamh agus a eisiamh. Laistigh den ráiteas foreach, is féidir liom an leagan amach a mhodhnú agus a mheaitseáil le formáidiú barra taobh foriomlán mo shuíomh WordPress.

Ina theannta sin, i mo functions.php, Ba mhaith liom feidhm a chur leis le feiceáil an bhfuil barra taobh ann agus an bhfuil giuirléid curtha leis:

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

Ansin, laistigh de mo théamaí sidebar comhad teimpléid, cuirim cód leis an limistéar a thaispeáint go dinimiciúil má tá an barra taobh cláraithe agus má tá giuirléid 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);
    }
}

Barraí Taobh WordPress do gach Catagóir

Is é an toradh go díreach a theastaigh uaim:

Barraí Taobh Giuirléidí WordPress do gach Catagóir

Anois, is cuma má chuirim, cuir in eagar nó scrios mé catagóirí… beidh mo cheantair bharra taobh cothrom le dáta i gcónaí!

Cad é do bharúil?

Úsáideann an suíomh seo Akismet chun spam a laghdú. Foghlaim conas a dhéantar próiseáil ar do chuid tráchta.