Content Màrqueting

WordPress: Creeu barres laterals automàticament per a cada categoria

He estat simplificant aquest lloc per millorar els temps de velocitat i intentar monetitzar millor el lloc sense irritar els meus lectors. Hi ha diverses maneres en què he monetitzat el lloc... aquí estan de més a menys lucratius:

  • Patrocinis directes d'empreses col·laboradores. Treballem en estratègies col·lectives que incorporen tot, des de seminaris web fins a compartir a les xarxes socials per promocionar els seus esdeveniments, productes i/o serveis.
  • Comercialització de l'afiliat des d'una sèrie de plataformes d'afiliats. Escolto i identifico les empreses, m'asseguro que tenen bona reputació i comparteixo articles específics que escric o anuncis que proporcionen.
  • Màrqueting de recursos d'una parella que allibera esdeveniments relacionats amb el màrqueting, estudis de casos i llibres blancs.
  • Publicitat en pancarta de Google on els anuncis rellevants es distribueixen automàticament a través de la meva plantilla i contingut.

Barres laterals de WordPress

Amb el màrqueting d'afiliació que proporcionava uns ingressos decents, vaig decidir que volia destacar anunciants molt específics en funció de la categoria del lloc, així que volia crear les barres laterals de manera dinàmica sense haver de codificar cada barra lateral del lloc. D'aquesta manera, si afegeixo una categoria, la barra lateral apareix automàticament a la meva àrea de widgets i puc afegir un anunci.

Per fer-ho, necessitava algun codi específic al fitxer functions.php fitxer del tema del meu fill. Afortunadament, vaig descobrir que algú ja havia escrit gairebé tot el que necessitava: Creeu barres laterals amb widgets per a cada categoria a WordPress. Només volia alguns controls addicionals sobre quines categories vull mostrar les barres laterals.

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

Amb la varietat d'arguments per recuperar categories, puc incloure i excloure totes les categories que vull orientar. Dins de cada declaració, puc modificar i fer coincidir el disseny amb el format general de la barra lateral del meu lloc de WordPress.

A més, al meu functions.php, vull afegir una funció per veure si existeix una barra lateral i hi ha afegit un widget:

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

Aleshores, dins del meu tema sidebar fitxer de plantilla, afegeixo codi per mostrar dinàmicament l'àrea si la barra lateral està registrada i té un widget.

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

Barres laterals de WordPress per a cada categoria

El resultat és exactament el que volia:

Barres laterals del widget de WordPress per a cada categoria

Ara, independentment de si afegeixo, edito o suprimo categories... les meves àrees de la barra lateral estaran sempre actualitzades!

Douglas Karr

Douglas Karr és CMO de OpenINSIGHTS i el fundador de la Martech Zone. Douglas ha ajudat a desenes d'empreses d'èxit de MarTech, ha ajudat en la diligència deguda de més de 5 mil milions de dòlars en adquisicions i inversions de Martech i continua ajudant les empreses a implementar i automatitzar les seves estratègies de vendes i màrqueting. Douglas és un expert i conferenciant de MarTech en transformació digital reconegut internacionalment. Douglas també és autor publicat d'una guia de Dummie i d'un llibre sobre lideratge empresarial.

Articles Relacionats

Torna al botó superior
a prop

Adblock detectat

Martech Zone és capaç de proporcionar-vos aquest contingut sense cap cost perquè monetitzem el nostre lloc mitjançant ingressos publicitaris, enllaços d'afiliats i patrocinis. Agrairem que elimineu el bloquejador d'anuncis mentre visualitzeu el nostre lloc.