Content Marketing

WordPress: Seitenleisten automatisch für jede Kategorie erstellen

Ich habe diese Website vereinfacht, um die Geschwindigkeitszeiten zu verbessern und zu versuchen, die Website besser zu monetarisieren, ohne meine Leser zu irritieren. Es gibt mehrere Möglichkeiten, wie ich die Website monetarisiert habe. Hier sind sie am wenigsten lukrativ:

  • Direkte Patenschaften von Partnerunternehmen. Wir arbeiten an kollektiven Strategien, die alles von Webinaren bis hin zu Social-Media-Freigaben umfassen, um für deren Veranstaltungen, Produkte und / oder Dienstleistungen zu werben.
  • Affiliate-Marketing von einer Reihe von Affiliate-Plattformen. Ich durchsuche und identifiziere die Unternehmen, stelle sicher, dass sie seriös sind, und teile bestimmte Artikel, die ich schreibe, oder Anzeigen, die sie bereitstellen.
  • Ressourcenmarketing von einem Partner, der freigibt Marketingbezogene Veranstaltungen, Fallstudien und White Papers.
  • Bannerwerbung von Google, wo relevante Anzeigen automatisch über meine Vorlage und meinen Inhalt verteilt werden.

WordPress-Seitenleisten

Da das Affiliate-Marketing einige anständige Einnahmen liefert, habe ich beschlossen, sehr spezifische Werbetreibende basierend auf der Kategorie der Website herauszustellen. Daher wollte ich die Seitenleisten dynamisch erstellen, ohne jede Seitenleiste auf der Website hart codieren zu müssen. Auf diese Weise wird beim Hinzufügen einer Kategorie die Seitenleiste automatisch in meinem Widget-Bereich angezeigt und ich kann eine Anzeige hinzufügen.

Dazu brauchte ich einen bestimmten Code in der functions.php Datei meines Kinderthemas. Zum Glück stellte ich fest, dass jemand bereits fast alles geschrieben hatte, was ich brauchte: Erstellen Sie Widget-Seitenleisten für jede Kategorie in WordPress. Ich wollte nur einige zusätzliche Steuerelemente für die Kategorien, in denen ich die Seitenleisten anzeigen möchte.

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

Mit dem Array von Argumenten zum Abrufen von Kategorien kann ich alle Kategorien einschließen und ausschließen, auf die ich abzielen möchte. Innerhalb der foreach-Anweisung kann ich das Layout ändern und an die Seitenleistenformatierung meiner gesamten WordPress-Site anpassen.

Zusätzlich in meinem functions.phpIch möchte eine Funktion hinzufügen, um festzustellen, ob eine Seitenleiste vorhanden ist und ein Widget hinzugefügt wurde:

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

Dann innerhalb meines Themas Seitenleiste Vorlagendatei füge ich Code hinzu, um den Bereich dynamisch anzuzeigen, wenn die Seitenleiste registriert ist und ein Widget enthält.

$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-Seitenleisten für jede Kategorie

Das Ergebnis ist genau das, was ich wollte:

WordPress Widget Sidebars für jede Kategorie

Unabhängig davon, ob ich Kategorien hinzufüge, bearbeite oder lösche, sind meine Seitenleistenbereiche immer auf dem neuesten Stand!

Douglas Karr

Douglas Karr ist CMO von Öffnen Sie EINBLICKE und Gründer der Martech Zone. Douglas hat Dutzenden erfolgreicher MarTech-Startups geholfen, war bei der Due Diligence von MarTech-Akquisitionen und -Investitionen im Wert von über 5 Milliarden US-Dollar behilflich und unterstützt weiterhin Unternehmen bei der Umsetzung und Automatisierung ihrer Vertriebs- und Marketingstrategien. Douglas ist ein international anerkannter Experte und Redner für digitale Transformation und MarTech. Douglas ist außerdem Autor eines Dummie-Ratgebers und eines Buchs über Unternehmensführung.

Ähnliche Artikel

Nach oben-Taste
Menu

Adblock erkannt

Martech Zone ist in der Lage, Ihnen diese Inhalte kostenlos zur Verfügung zu stellen, da wir unsere Website durch Werbeeinnahmen, Affiliate-Links und Sponsoring monetarisieren. Wir würden uns freuen, wenn Sie Ihren Werbeblocker entfernen würden, während Sie unsere Website besuchen.