ورڈپریس: ہر قسم کے لئے خود بخود سائڈبارز بنائیں

ہر ورڈپریس زمرہ کے لئے سائڈبار کو رجسٹر کرنے کا فنکشن

میں اس سائٹ کو تیز رفتار اوقات کو بہتر بنانے اور اپنے قارئین کو پریشان کیے بغیر سائٹ کو بہتر طریقے سے کمانے کی کوشش کرنے کے لئے آسان بنا رہا ہوں۔ متعدد طریقے ہیں جن سے میں نے سائٹ کمایا ہے… یہاں وہ زیادہ تر کم سے کم منافع بخش ہیں۔

  • براہ راست کفالت پارٹنر کمپنیوں سے ہم اجتماعی حکمت عملیوں پر کام کرتے ہیں جس میں ویبینرز سے لے کر سوشل میڈیا شیئرز تک ہر چیز کو ان کے واقعات ، مصنوعات اور / یا خدمات کو فروغ دینے کے لئے شامل کیا جاتا ہے۔
  • الحاق کی مارکیٹنگ ملحق پلیٹ فارم کی ایک صف سے۔ میں کمپنیوں کو ہراساں کرتا ہوں اور ان کی شناخت کرتا ہوں ، اس بات کو یقینی بناتا ہوں کہ وہ معروف ہوں ، اور میں جو خاص مضمون لکھتا ہوں یا ان کے اشتہارات جو وہ فراہم کرتے ہیں شیئر کرتا ہوں۔
  • ریسورس مارکیٹنگ جاری کرنے والے ساتھی سے مارکیٹنگ سے متعلق واقعات ، کیس اسٹڈیز ، اور وائٹ پیپرز.
  • بینر اشتہارات گوگل سے جہاں متعلقہ اشتہارات خود بخود میرے ٹیمپلیٹ اور مشمولات کے ذریعہ منتشر ہوجاتے ہیں۔

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

وابستہ مارکیٹنگ کو کچھ معقول آمدنی مہیا کرنے کے ساتھ ، میں نے فیصلہ کیا کہ میں سائٹ کے زمرے کی بنیاد پر بہت ہی خاص اشتہاریوں کو نمایاں کرنا چاہتا ہوں ، لہذا میں سائٹ پر ہر سائڈبار کو ہارڈ کوڈ کیے بغیر متحرک طور پر سائڈبارز بنانا چاہتا ہوں۔ اس طرح ، اگر میں کوئی زمرہ شامل کرتا ہوں تو - سائڈبار خود کار طریقے سے میرے ویجیٹ کے علاقے میں ظاہر ہوجاتا ہے اور میں اشتہار شامل کرسکتا ہوں۔

ایسا کرنے کے ل I ، مجھے اس میں کچھ مخصوص کوڈ کی ضرورت تھی functions.php میرے بچے کی تھیم کی فائل۔ شکر ہے ، مجھے پتہ چلا ہے کہ کسی نے پہلے ہی تقریبا everything سب کچھ لکھ دیا تھا جس کی مجھے ضرورت ہے: ورڈپریس میں ہر قسم کے لئے 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);
    }
}

ہر قسم کے لئے ورڈپریس سائڈبارز

نتیجہ بالکل وہی ہے جو میں چاہتا تھا:

ہر قسم کے لئے ورڈپریس ویجیٹ سائڈبارز

اب ، قطع نظر اس سے قطع نظر کہ میں زمرے شامل ، ترمیم ، یا حذف کروں گا… میرے سائڈبار ایریا ہمیشہ تازہ ترین رہیں گے!

آپ کا کیا خیال ہے؟

سپیم کو کم کرنے کے لئے یہ سائٹ اکزمیت کا استعمال کرتا ہے. جانیں کہ آپ کا تبصرہ کس طرح عملدرآمد ہے.