ওয়ার্ডপ্রেস: প্রতিটি বিভাগের জন্য স্বয়ংক্রিয়ভাবে সাইডবারগুলি তৈরি করুন

প্রতিটি ওয়ার্ডপ্রেস বিভাগের জন্য সাইডবারগুলি নিবন্ধিত করার কাজ

আমি গতি সময় উন্নত করতে এবং আমার পাঠকদের বিরক্ত না করে সাইটটিকে আরও ভালভাবে নগদীকরণের চেষ্টা করার জন্য এই সাইটটি সরলীকরণ করছি। একাধিক উপায়ে যা আমি সাইটটি নগদীকরণ করেছি ... এখানে সেগুলি বেশিরভাগ থেকে কমপক্ষে লাভজনক:

  • সরাসরি স্পনসরশিপ অংশীদার সংস্থাগুলি থেকে। আমরা সম্মিলিত কৌশলগুলিতে কাজ করি যা তাদের ইভেন্টগুলি, পণ্যগুলি এবং / অথবা পরিষেবাদি প্রচারের জন্য ওয়েবিনার থেকে শুরু করে সোশ্যাল মিডিয়া শেয়ারগুলি পর্যন্ত সমস্ত কিছু অন্তর্ভুক্ত করে।
  • এফিলিয়েট মার্কেটিং অনুমোদিত প্লাটফর্মগুলির একটি অ্যারে থেকে। আমি সংস্থাগুলিকে ঘৃণা করি এবং সনাক্ত করি, তারা নামকরা হবে তা নিশ্চিত করুন এবং আমার লেখা নির্দিষ্ট নিবন্ধগুলি বা তাদের সরবরাহ করা বিজ্ঞাপনগুলি ভাগ করে নিন।
  • রিসোর্স বিপণন অংশীদার কে মুক্তি দেয় বিপণন সম্পর্কিত ইভেন্ট, কেস স্টাডি এবং শ্বেতপত্রাদি.
  • ব্যানার বিজ্ঞাপন গুগল থেকে যেখানে প্রাসঙ্গিক বিজ্ঞাপনগুলি আমার টেম্পলেট এবং সামগ্রীর মাধ্যমে স্বয়ংক্রিয়ভাবে ছড়িয়ে পড়ে।

ওয়ার্ডপ্রেস সাইডবারস

অনুমোদিত বিপণন কিছু শুল্ক উপার্জন সরবরাহ করে, আমি স্থির করেছিলাম যে আমি সাইটের বিভাগের ভিত্তিতে খুব সুনির্দিষ্ট বিজ্ঞাপনদাতাদের স্পটলাইট করতে চাই, তাই আমি সাইটের প্রতিটি সাইডবারকে হার্ড-কোড না করেই গতিশীলভাবে সাইডবারগুলি তৈরি করতে চেয়েছিলাম। এইভাবে, যদি আমি কোনও বিভাগ যুক্ত করি - সাইডবারটি আমার উইজেট অঞ্চলে স্বয়ংক্রিয়ভাবে উপস্থিত হয় এবং আমি একটি বিজ্ঞাপন যুক্ত করতে পারি।

এটি করতে, আমার কিছু নির্দিষ্ট কোডের দরকার ছিল থিমের 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);
    }
}

প্রতিটি বিভাগের জন্য ওয়ার্ডপ্রেস সাইডবারস

ফলাফলটি আমি যা চেয়েছিলাম ঠিক তেমন:

প্রতিটি বিভাগের জন্য ওয়ার্ডপ্রেস উইজেট সাইডবারস

এখন আমি বিভাগগুলি যুক্ত, সম্পাদনা, বা মুছুন তা নির্বিশেষে ... আমার সাইডবারের অঞ্চলগুলি সর্বদা আপ টু ডেট থাকবে!

আপনি কি মনে করেন?

এই সাইট স্প্যাম কমাতে Akismet ব্যবহার করে। আপনার ডেটা প্রক্রিয়া করা হয় তা জানুন.