WordPress: Crea Sidebars Automaticamente Per Ogni Categoria

Funzione per Registrà Sidebars per Ogni Categoria WordPress

Aghju simplificatu stu situ per migliurà i tempi di velocità è per pruvà à monetizà u situ megliu senza irrità i mo lettori. Ci hè parechje manere chì aghju monetizatu u situ ... quì sò da u più à u menu lucrativu:

  • Sponsorizazioni dirette da cumpagnie cumpagnie. Avemu travagliatu nantu à strategie cullettive chì incorporanu tuttu, da webinar à azzioni di social media per prumove i so eventi, prudutti è / o servizii.
  • Affiliate marketing da una serie di piattaforme affiliate. Cercu è identificu e cumpagnie, mi assicuru chì sò reputabili, è sparte articuli specifici chì scrivu o annunci chì furniscenu.
  • Marketing di risorse da un cumpagnu chì libera eventi ligati à u marketing, studii di casu, è libri bianchi.
  • Publicità Banner da Google induve l'annunzii pertinenti sò spargugliati automaticamente per mezu di u mo mudellu è cuntenutu.

WordPress Sidebars

Cù u marketing di affiliazione chì furnisce qualchì redditu decente, aghju decisu chì vulia mette in risaltu inserzionisti assai specifici basati nantu à a categuria di u situ, allora vulia creà dinamicamente e barre laterali senza avè da codificà duramente ogni barra laterale di u situ. In questu modu, se aghjunghje una categuria - a barra laterale appare automaticamente in a mo area Widget è possu aghjunghje una publicità.

Per fà questu, aghju bisognu di qualchì codice specificu in u functions.php schedariu di u tema di u mo figliolu. Per furtuna, aghju trovu chì qualcunu avia dighjà scrittu guasi tuttu ciò chì avia bisognu: Crea SideBars Widgetized per Ogni Categoria in WordPress. Vuliu solu alcuni cuntrolli addiziunali nantu à quali categurie puderebbe desiderà visualizà e barre laterali in.

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

Cù a serie di argumenti per recuperà categurie, possu includere è escludere qualsiasi categurie chì vogliu destinà. Dentru a dichjarazione foreach, possu mudificà è currisponde à u layout cù u formatu di barra laterale generale di u mo situ WordPress.

Inoltre, in u mo functions.php, Vogliu aghjunghje una funzione per vede se una barra laterale esiste è hà un widget aghjuntu à questu:

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

Dopu, in u mo tema sidebar schedariu di mudellu, aghjunghju u codice per visualizà dinamicamente l'area se a barra laterale hè registrata è hà un widget in questu.

$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 per Ogni Categoria

U risultatu hè esattamente ciò chì vulia:

WordPress Widget Sidebars per Ogni Categoria

Avà, indipendentemente da se aghjunghje, mudificu o sguassu categurie ... e mo zone di a barra laterale saranu sempre aggiornate!

Chì ne pensi?

Stu situ utilizeghja Akismet per reducisce u puzzicheghju. Sapete ciò chì i dati di i vostri dati è processatu.