Content Marketing

WordPress: Opret sidebjælker automatisk for hver kategori

Jeg har forenklet dette websted for at forbedre hastighedstiderne og forsøge at tjene penge på webstedet bedre uden at irritere mine læsere. Der er flere måder, jeg har tjent penge på siden på ... her er de fra mest til mindst lukrative:

  • Direkte sponsorater fra partnerfirmaer. Vi arbejder på kollektive strategier, der inkorporerer alt fra webinarer til aktier på sociale medier for at promovere deres begivenheder, produkter og / eller tjenester.
  • Affiliate marketing fra en række tilknyttede platforme. Jeg gennemsøger og identificerer virksomhederne, sikrer, at de er velrenommerede, og deler specifikke artikler, jeg skriver eller annoncer, som de leverer.
  • Ressource marketing fra en partner, der frigiver marketingrelaterede begivenheder, casestudier og hvidbøger.
  • Bannerannoncering fra Google, hvor relevante annoncer automatisk spredes gennem min skabelon og indhold.

WordPress sidebjælker

Da affiliate marketing leverede en anstændig indtjening, besluttede jeg, at jeg ville spotte meget specifikke annoncører baseret på kategorien på webstedet, så jeg ville dynamisk oprette sidebjælkerne uden at skulle hårdkode hvert sidebjælke på webstedet. På denne måde, hvis jeg tilføjer en kategori - vises sidebjælken automatisk i mit Widget-område, og jeg kan tilføje en annonce.

For at gøre dette havde jeg brug for en bestemt kode i functions.php fil af mit barns tema. Heldigvis fandt jeg ud af, at nogen allerede havde skrevet næsten alt, hvad jeg havde brug for: Opret widgetiserede sidebjælker for hver kategori i WordPress. Jeg ville bare have nogle yderligere kontroller over, hvilke kategorier jeg måske vil vise sidebjælkerne i.

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

Med en række argumenter til hentning af kategorier kan jeg inkludere og ekskludere alle kategorier, som jeg ønsker at målrette mod. Inden foreach-erklæringen kan jeg ændre og matche layoutet til mit overordnede WordPress-websteds sidefeltformatering.

Derudover i min functions.php, Jeg vil tilføje en funktion for at se, om der findes en sidebjælke og har en widget tilføjet til den:

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

Derefter inden for mine temaer sidebar skabelonfil, tilføjer jeg kode for dynamisk at vise området, hvis sidebjælken er registreret og har en widget i den.

$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-sidepaneler til hver kategori

Resultatet er præcis, hvad jeg ønskede:

WordPress-widget-sidebjælker for hver kategori

Nu, uanset om jeg tilføjer, redigerer eller sletter kategorier ... vil mine sidebjælkeområder altid være opdaterede!

Douglas Karr

Douglas Karr er CMO for OpenINSIGHTS og grundlæggeren af Martech Zone. Douglas har hjulpet snesevis af succesfulde MarTech-startups, har hjulpet med due diligence på over $5 mia. i Martech-opkøb og -investeringer og fortsætter med at hjælpe virksomheder med at implementere og automatisere deres salgs- og marketingstrategier. Douglas er en internationalt anerkendt digital transformation og MarTech-ekspert og foredragsholder. Douglas er også udgivet forfatter til en Dummies guide og en bog om virksomhedsledelse.

Relaterede artikler

Tilbage til toppen knap
Luk

Adblock fundet

Martech Zone er i stand til at give dig dette indhold uden omkostninger, fordi vi tjener penge på vores websted gennem annonceindtægter, affilierede links og sponsorater. Vi ville sætte pris på, hvis du ville fjerne din annonceblokering, mens du ser vores websted.