WordPress: प्रत्येक वर्गका लागि स्वचालित रूपमा साइडबारहरू सिर्जना गर्नुहोस्

कार्य प्रत्येक WordPress वर्ग को लागी साइडबार रेजिस्टर गर्न

म यस साइटलाई गतिको समय सुधार गर्न र हाम्रा पाठकहरूलाई नचिढ्याईकन अझ राम्रो गरी मोनेटाइज गर्न को लागी साइट सरल गर्दैछु। त्यहाँ धेरै तरिकाहरू छन् जुन मैले साइट मुद्रीकरण गरेको छ ... यहाँ तिनीहरू प्रायः कम्तिमा पनि आकर्षक छन्:

  • प्रत्यक्ष प्रायोजन पार्टनर कम्पनीहरूबाट। हामी सामूहिक रणनीतिहरूमा कार्य गर्दछौं जसले वेबियानर देखि सामाजिक मिडिया सेयरहरूमा सबै घटनाहरू, उत्पादनहरू, र / वा सेवाहरूको प्रचार प्रसार गर्दछ।
  • सम्बद्ध विपणन सम्बद्ध प्लेटफार्मको एक एर्रेबाट। म scour र कम्पनियहरु को पहिचान, उनीहरु सम्मानित हो भनेर निश्चित, र निर्दिष्ट लेख साझा गर्छु म लेख्न वा विज्ञापनहरु प्रदान को ती।
  • रिसोर्स मार्केटिंग रिलीज गर्ने साथीबाट मार्केटिंग सम्बन्धित घटनाहरू, केस स्टडीहरू, र सेता कागजातहरू.
  • ब्यानर विज्ञापन गुगलबाट जहाँ प्रासंगिक विज्ञापनहरू स्वचालित रूपमा मेरो टेम्प्लेट र सामग्री मार्फत तितरबित हुन्छन्।

वर्डप्रेस साइडबार

एफिलिएट मार्केटिंगले केही राम्रो राजस्व प्रदान गर्दा, मैले निर्णय गरे कि म साइटको कोटीमा आधारित विशिष्ट विज्ञापनदाताको स्पॉटलाइट गर्न चाहान्छु, त्यसैले म साइटमा प्रत्येक साइडबारलाई हार्ड-कोड नगरीकन गतिशील रूपमा साइडबारहरू सिर्जना गर्न चाहान्छु। यस तरिकाले, यदि मैले कोटी थपें ​​भने - साइडबार स्वचालित रूपमा मेरो विजेट क्षेत्रमा देखा पर्दछ र म विज्ञापन थप्न सक्छु।

यो गर्नका लागि मलाई यसमा केहि विशिष्ट कोडको आवश्यक पर्‍यो 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' );

कोटिहरू पुनःबहालीका लागि आर्गुमेन्टको एरेसँग, म समावेश गर्न र लक्षित गर्न चाहने कुनै पनि कोटीहरू समावेश गर्न सक्दिन। फोरच स्टेटमेन्टमा, म परिमार्जन गर्न सक्दछु र मेरो समग्र WordPress साइटको साइडबार ढाँचामा सजावट मिलाउन सक्दछु।

थप रूपमा, मेरोमा 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);
    }
}

प्रत्येक वर्गका लागि WordPress साइडबारहरू

नतिजा मैले चाहेको जस्तै हो।

प्रत्येक वर्गका लागि WordPress विजेट साइडबारहरू

अब, चाहे मैले कोटीहरू थप्ने, सम्पादन गर्ने, वा मेटाउने कार्यलाई ध्यान दिएन ... मेरो साइडबार क्षेत्रहरू सँधै अप-टु-डेट हुनेछन्!

तिम्रो के बिचार छ?

यो साइट स्प्याम कम गर्न Akismet को उपयोग गर्दछ। जान्नुहोस् कि तपाईंको डेटा कसरी संसाधित छ.