Widget per Code aus- und einblenden

Um ein bestimmtes Widget auf bestimmten Seiten oder unter bestimmten Bedingungen auszublenden, kannst du entweder auf ein Plugin wie Widget Logic oder Widget Options zurückgreifen. Diese Plugins bieten eine benutzerfreundliche Möglichkeit, Widgets basierend auf verschiedenen Bedingungen anzuzeigen oder auszublenden. Alternativ lässt sich dasselbe Ergebnis auch mit einem einfachen Code-Snippet erzielen, das du selbst in deine functions.php einfügen kannst:

add_filter('sidebars_widgets', 'conditionally_remove_widget');

function conditionally_remove_widget($sidebars_widgets)
{
    if (is_admin()) {
        return $sidebars_widgets;
    }

    if (!is_front_page() && !is_archive()) {
        foreach ($sidebars_widgets as $widget_area => $widget_list) {
            foreach ($widget_list as $pos => $widget_id) {
                if ($widget_id === 'text-3') {
                    unset($sidebars_widgets[$widget_area][$pos]);
                }
            }
        }
    }

    return $sidebars_widgets;
}

In diesem Beispiel wird das Widget mit der ID text-3 von Seiten ausgeschlossen, die nicht die Startseite oder ein Archiv sind. Beachte, dass die Widget-ID die CSS-ID des Widgets im Frontend widerspiegelt. Um die gewünschte Funktionalität zu erzielen, musst du die ID sowie die Bedingungen in deiner Logik anpassen. So kannst du flexibel steuern, welche Widgets auf welchen Seiten oder unter welchen Bedingungen angezeigt werden, ohne auf externe Plugins angewiesen zu sein.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert