Widget per Code aus- und einblenden

Um ein bestimmtes Widget auf bestimmten Seiten oder unter bestimmten Bedingungen auszublenden kann man auf ein Plugin wie Widget Logic oder Widget Options zurückgreifen. Alternativ kann man das gleiche Ergebnis auch durch ein paar Zeilen Code erreichen::

add_filter('sidebars_widgets', 'pure_conditionally_remove_widget');

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

Im obigen Beispiel wird das Widget mit der ID text-3 auf der Startseite entfernt. Die Widget ID entspricht der CSS-ID des Widgets im Frontend. Die ID sowie die Bedingung muss natürlich an die eigenen Bedürfnisse angepasst werden.

Schreibe einen Kommentar