ورڈپریس: د هرې کټګورۍ لپاره په اتومات ډول سائډبارونه جوړ کړئ

د هر ورڈپریس کټګورۍ لپاره د سائډبارونو راجستر کولو دنده

زه دا سایټ ساده کوو ترڅو د سرعت وخت بهتر کړم او د سایټ ښه پیسو ورکولو هڅه وکړم پرته لدې چې زما لوستونکو ته زیان ورسوي. دلته ډیری لارې شتون لري چې ما سایټ منیټ کړی دی ... دلته دوی له خورا لږترلږه ګټور څخه دي:

  • مستقیم سپانسرشپونه د شریک شرکتونو څخه. موږ په ډله ایزو ستراتیژیو کار کوو چې د ویبینارونو څخه نیولې تر ټولنیزو رسنیو شریکانو پورې هرڅه شامل کړي ترڅو د دوی پیښو ، محصولاتو ، او / یا خدماتو ته وده ورکړي.
  • تړاو د بازار د وابسته پلاتفورمونو له صفونو څخه. زه شرکتونه ګرم او پیژنم ، ډاډ ترلاسه کوم چې دوی مشهور دي ، او ځانګړي مقالې چې زه یې لیکم یا هغه اعلانات شریکوم چې دوی یې چمتو کوي.
  • د سرچینو بازارموندنه د هغه ملګري څخه چې خوشې کوي د بازارموندنې اړوند پیښې ، د قضیې مطالعات ، او سپینې پا papersې.
  • د بینر اعلانونه د ګوګل څخه چیرې چې اړونده اعلانونه په اوتومات ډول زما د ټیمپلیټ او مینځپانګې له لارې توزیع کیږي.

د ورډپریس سایډبارونه

د وابسته بازار موندنې سره یو څه ښه عاید چمتو کولو سره ، ما پریکړه وکړه چې زه غواړم د سایټ کټګورۍ پراساس خورا مشخص اعلان کونکي روښانه کړم ، نو ما غوښتل چې په سایټ کې هر اړخیز هارډ کوډ پرته په متحرک ډول ضمیمې رامینځته کړم. پدې توګه ، که زه کټګورۍ اضافه کړم - اړخیز پټی په اتومات ډول زما د ویجټ ساحه کې څرګندیږي او زه کولی شم یو اعلان اضافه کړم.

د دې کولو لپاره ، زه په. کې ځینې ځانګړي کوډ ته اړتیا لرم functions.php زما د ماشوم موضوع موضوع. مننه ، ما وموندله چې یو څوک دمخه شاوخوا هرڅه لیکلي وو چې ما ورته اړتیا درلوده: په WordPress کې د هر کټګورۍ لپاره Widgetized Sidebars جوړ کړئ. ما یوازې یو څه اضافي کنټرولونه غوښتل په کوم کټګوریو کې چې زه یې غواړم د اړخ اړخونه په کې ښیې.

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

د کټګوریو د ترلاسه کولو لپاره د دلیلونو د صف سره ، زه کولی شم هره کټګورۍ پکې شامل او لرې کړم کوم چې زه غواړم په نښه کړم. د وړاندوینې بیان سره ، زه کولی شم چې ترتیب زما د ټول ورڈپریس سایټ سائډبار فارمیټ کې ترمیم او میچ کړم.

اضافتا ، زما کې functions.php، زه غواړم یو فنکشن اضافه کړم ترڅو وګورم چې ایا اړخ اړخ شتون لري او په هغې کې یو विजेټ اضافه شوی دی:

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

بیا ، زما د موضوع دننه د پټې د ټیمپلیټ فایل ، زه کوډ اضافه کړم ترڅو سیمه په متحرک ډول وښیې که د اړخ اړخ راجسټر شوی وي او په هغې کې ویجټ ولري.

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

د هرې کټګورۍ لپاره د ورډپریس سایډبارونه

پایله بالکل هغه څه ده چې ما غوښتل:

د هر کټګورۍ لپاره د ورډپریس ویجټ اړخونه

اوس ، پرته لدې چې آیا زه کټګورۍ اضافه ، ترمیم یا حذف کړم ... زما د اړخ پټې سیمې به تل تازه وي!

ته څه فکر کوی؟

دا سایټ د سپیم کمولو لپاره Akismet کاروي. زده کړئ چې ستاسو د تبصرې ډاټا پراساس پروسس کیږي.