Code voorbeeld

Controleer of er widgets zijn geplaatst in een widget

Leestijd: 1 minuten (275 woorden)
profile image

Rick de Jong

Strategie

20 augustus 2013 08:04

Wordpress content plaatsen of verbergen

Widgets checken of vervangen

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 (!empty($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;