WordPress: Oħloq Sidebars Awtomatikament Għal Kull Kategorija

Funzjoni biex tirreġistra Sidebars għal Kull Kategorija WordPress

Jien kont qed nissimplifika dan is-sit biex ittejjeb il-ħinijiet tal-veloċità u biex nipprova nimmonetizza aħjar is-sit mingħajr ma nirrita lill-qarrejja tiegħi. Hemm bosta modi kif immonetizzajt is-sit ... hawn huma mill-iktar għall-inqas qligħ:

  • Sponsorizzazzjonijiet diretti minn kumpaniji msieħba. Aħna naħdmu fuq strateġiji kollettivi li jinkorporaw kollox minn webinars għal ishma tal-midja soċjali biex nippromwovu l-avvenimenti, il-prodotti, u / jew is-servizzi tagħhom.
  • Il-kummerċjalizzazzjoni tal-affiljat minn firxa ta 'pjattaformi affiljati. Jiena niskura u nidentifika l-kumpaniji, niżgura li huma ta 'fama tajba, u naqsam artikli speċifiċi li nikteb jew reklami li jipprovdu.
  • Marketing tar-riżorsi minn sieħeb li jirrilaxxa avvenimenti relatati mal-kummerċ, studji ta ’każijiet, u white papers.
  • Reklamar tal-bandalori minn Google fejn reklami rilevanti huma awtomatikament imxerrda permezz tal-mudell u l-kontenut tiegħi.

WordPress Sidebars

Bil-marketing affiljat li jipprovdi xi dħul deċenti, iddeċidejt li ridt niffoka fuq min jirreklama speċifiku ħafna bbażat fuq il-kategorija tas-sit, allura ridt noħloq il-sidebars b'mod dinamiku mingħajr ma jkolli nikkodifika sew kull sidebar fuq is-sit. Dan il-mod, jekk inżid kategorija - il-ġenb jidher awtomatikament fiż-żona tal-Widget tiegħi u nista 'nżid riklam.

Biex tagħmel dan, kelli bżonn xi kodiċi speċifiku fil - functions.php fajl tat-tema tat-tifel tiegħi. B'xorti tajba, sibt li xi ħadd kien diġà kiteb kważi dak kollu li kelli bżonn: Oħloq Sidebars Widgetized għal Kull Kategorija f'WordPress. Xtaqt biss xi kontrolli addizzjonali fuq liema kategoriji forsi nixtieq nuri l-sidebars fihom.

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

Bil-firxa ta 'argumenti għall-irkupru ta' kategoriji, nista 'ninkludi u neskludi kwalunkwe kategorija li nixtieq immira. Fid-dikjarazzjoni foreach, nista 'nimmodifika u nqabbel it-tqassim mal-ifformattjar ġenerali tal-ġenb tas-sit WordPress tiegħi.

Addizzjonalment, f 'tiegħi functions.php, Irrid inżid funzjoni biex nara jekk teżistix sidebar u għandhiex widget miżjuda magħha:

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

Imbagħad, fit-tema tiegħi sidebar mudell tal-fajl, inżid kodiċi biex nuri ż-żona b'mod dinamiku jekk il-sidebar hija rreġistrata u għandha widget fiha.

$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 Sidebars għal Kull Kategorija

Ir-riżultat huwa eżattament dak li ridt:

WordPress Widget Sidebars għal Kull Kategorija

Issa, irrispettivament minn jekk inżidx, neditja, jew inħassar kategoriji ... iż-żoni tal-sidebar tiegħi dejjem ikunu aġġornati!

What do you think?

Dan is-sit juża Akismet biex inaqqas l-ispam. Tgħallem kif il-kumment tiegħek huwa pproċessat.