Controleer of er widgets zijn geplaatst in een widget

door in

Controleer of er widgets zijn geplaatst in een widget

Het kan in sommige gevallen handig zijn om te controleren of er widgets zijn geplaatst in een sidebar, denk bijvoorbeeld aan een commercieel thema waarin je gebruikers op die manier aan de voorkant kunt aangeven dat een sidebar nog leeg is en gevuld kan of zelf moet worden. Je kunt daarnaast ook met een simpel if/else statement een andere sidebar inladen, als je zeker weet dat die wel gevuld is.

Hoe dan?

De controle is vrij eenvoudig en wordt geplaatst in de functions.php:

function tsd_sidebar_filled($index) {
	global $wp_registered_sidebars;
	$widgetcolums = wp_get_sidebars_widgets();
	if ($widgetcolums[$index])
		return true;
	return false;
}
Vervolgens kun je op de locatie waar de sidebar wordt ingeladen deze functie oproepen en gebruiken:
if(tsd_sidebar_filled( 'sidebar-naam' )): 
// hier de code om de sidebar te plaatsen
endif;
Op deze manier toon je alleen de sidebar als deze is gevuld met een of meerdere widgets. Zoals gezegd kun je deze dus vrij eenvoudig uitbreiden door een andere sidebar op te halen waarvan je zeker weet dat 'ie gevuld is.

if(tsd_sidebar_filled( 'sidebar-naam' )): 
// hier de code om de sidebar te plaatsen
else:
// hier de code om de sidebar te plaatsen waarvan je zeker weet dat ie gevuld is
endif;

That's it

Een eenvoudige functie, maar als je ziet wat dit voor gebruikersgemak oplevert zeker de moeite waard!

Vind je dit bericht interessant?

Vind je dit bericht interessant? Dan zou ik het erg waarderen als je een like of andere "social-share" achter laat ;)