ورڈپریس: هر ڪيٽيگري لاءِ خودڪار طريقي سان سائڊبار ٺاهيو

هر ورڈپریس ڪيٽيگريءَ لاءِ سائڊبارس کي رجسٽر ڪرڻ جو ڪم

آئون هن سائيٽ کي تيز وقتن کي بهتر بڻائڻ ۽ انهي کي بهتر بڻائڻ جي ڪوشش ڪري رهيو آهيان سائيٽن کي بهتر بڻائڻ جي ڪوشش ڪندي منهنجي پڙهندڙن کي پريشان ڪري پئي. ڪيترائي طريقا آهن جنهن جي ڪري مان سائيٽ کي آگاهه ڪيو آهي… هتي اهي گهٽ کان گهٽ نفعي وارا آهن.

  • سڌي اسپانسر شپ شريڪ ڪمپنين کان. اسان اجتماعي حڪمت عملين تي ڪم ڪريون ٿا جيڪي انهن جي واقعن ، شين ۽ / يا خدمتن کي فروغ ڏيڻ لاءِ ويب ورزن کان وٺي سوشل ميڊيا شيئرز تائين سڀ ڪجهه شامل ڪن ٿيون.
  • ميزباني سان مارڪيٽ ملندڙ پليٽ فارمن جي صفن مان. مان ڪمپنين کي گانڌي ۽ نشاندهي ڪريان ٿو ، پڪ ڏيان ته اهي وقار آهن ، ۽ خاص آرٽيڪل شيئر ڪن جيڪي آئون لکان ٿو يا اهي اشتهار جيڪي مهيا ڪن ٿا.
  • وسيلن جي مارڪيٽنگ هڪ ساٿي کان جيڪو جاري ڪري ٿو مارڪيٽنگ سان لاڳاپيل واقعن ، ڪيسن جو مطالعو ، ۽ اڇي پيپر.
  • بينر جي اشتھاربازي گوگل کان جتي لاڳاپيل اشتهار منهنجي ٽمٽ ۽ مواد ذريعي پاڻمرادو ورهائجي ويا آهن.

ورڈپریس سائڊبارز

الحاق مارڪيٽنگ سان ڪجهه مهذب آمدني فراهم ڪرڻ سان ، مون اهو فيصلو ڪيو ته آئون خاص مخصوص اشتهار ڏيندڙن کي سائٽ جي درجي بندي تي ڌيان ڏيڻ چاهيان ٿو ، انهي ڪري مان چاهيان ٿو ته سائڊبارز کي متحرڪ طور تي ٺاهي سگهان. اهو رستو ، جيڪڏهن آئون ڪيٽيگري شامل ڪريان ٿو - سائڊبار پنهنجو وجيٽ ايريا ۾ پاڻمرادو ظاهر ٿي ٿو ۽ آئون اشتهار شامل ڪري سگهان ٿو.

هن کي ڪرڻ لاءِ ، مون کي ڪجهه خاص ڪوڊ جي ضرورت هئي functions.php منهنجي ٻاراڻي موضوع جي فائل. مهرباني ڪري ، مون ڏٺو آهي ته ڪنهن ماڻهو تقريبن سڀ ڪجهه لکيو هو جنهن جي مون کي ضرورت هئي. ورڈپریس ۾ هر ڪيٽيگري لاءِ وجيٽلڊ سائڊبار ٺاهيو. مان صرف ڪجهه اضافي ضابطا چاهيندو هو جنهن جي درجي ۾ آئون سائڊبار ظاهر ڪرڻ چاهيان ٿو.

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

هر درجي لاءِ ورڈپریس سائڊبار

نتيجو اھو آھي جيڪو مون چاھيو ٿي:

هر درجي لاءِ ورڈپریس وجٽ سائڊبار

هاڻي ، مان سمجهان ٿو ته جيڪڏهن مان شامل ڪندس ، تدوين ، يا ڪيٽيگريز کي حذف ڪريان ٿو… منهنجي سائڊبار جا علائقا هميشه تازا هوندا!

توهان ڇا ٿا سوچيو؟

هي سائيٽ اسپام کي گهٽائڻ لاء اکزمٽ استعمال ڪري ٿو. سکو ته توهان جي تجويز ڪيل ڊيٽا کي ڪيئن عمل ڪيو وڃي.