WordPress: Gawe Sidebars kanthi Otomatis Kanggo Saben Kategori

Fungsi kanggo Ndhaptar Sidebars kanggo Saben Kategori WordPress

Aku wis nyederhanakake situs iki kanggo nambah wektu cepet lan nyoba kanggo monetisasi situs kanthi luwih apik tanpa nesu karo sing maca. Ana pirang-pirang cara sing aku monetisasi situs… ing kene kalebu sing paling nguntungake:

  • Sponsor langsung saka perusahaan mitra. Kita nggarap strategi kolektif sing nggabungake kabeh saka webinar nganti saham media sosial kanggo promosi acara, produk, lan / utawa layanane.
  • affiliate marketing saka macem-macem platform afiliasi. Aku nggoleki lan ngenali perusahaan, mesthekake duwe reputasi, lan nuduhake artikel tartamtu sing dakkirim utawa iklan sing diwenehake.
  • Pemasaran sumber saka mitra sing ngeculake acara sing gegandhengan karo pemasaran, studi kasus, lan kertas putih.
  • Iklan Banner saka Google ing ngendi iklan sing relevan disebar kanthi otomatis liwat template lan kontenku.

Sidebars WordPress

Kanthi pemasaran afiliasi sing nyedhiyakake sawetara penghasilan sing cukup, aku mutusake aku pengin menehi perhatian marang para pengiklan sing spesifik banget adhedhasar kategori situs, mula aku pengin nggawe sidebars kanthi dinamis tanpa kudu menehi kode keras saben sidebar ing situs kasebut. Kanthi cara iki, yen aku nambah kategori - sidebar otomatis ditampilake ing area Widget lan aku bisa nambah pariwara.

Kanggo nindakake iki, aku butuh sawetara kode tartamtu ing functions.php file tema anakku. Kanthi matur nuwun sanget, aku ngerti manawa ana wong sing wis nulis meh kabeh sing dibutuhake: Gawe Sidebars Widgetisasi kanggo Saben Kategori ing WordPress. Aku mung pengin sawetara kontrol tambahan ing kategori sing bisa ditampilake 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' );

Kanthi macem-macem argumen kanggo njupuk kategori, aku bisa nyakup lan ngilangi kategori sing pengin dituju. Ing prekara kasebut, aku bisa ngowahi lan cocog karo tata cara kanggo format sidebar situs WordPress.

Kajaba iku, ing Pendhaftaran functions.php, Aku pengin nambah fungsi kanggo ndeleng manawa ana sidebar lan widget sing ditambahake:

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

Banjur, ing tema kasebut sidebar file template, aku nambah kode kanggo nampilake area kanthi dinamis yen sidebar wis didaftar lan duwe widget ing kana.

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

Sidebars WordPress kanggo Saben Kategori

Asile persis kaya sing dakkarepake:

Sidebars Widget WordPress kanggo Saben Kategori

Saiki, preduli apa aku nambah, nyunting, utawa mbusak kategori… area sidebarku bakal tetep anyar!

Apa sampeyan mikir?

Situs iki nggunakake Akismet kanggo ngurangi spam. Sinau babagan proses data sampeyan.