|

Meer controle over je website

Bouw je wel eens een site voor iemand anders en hoor je regelmatig dingen als: “Dit blokje tekst wil ik in de sidebar hebben, maar dan alleen op die specifieke pagina”? Of bouw je zelf je eigen website en wil je wat meer controle over de vaste elementen van je ontwerp zoals de sidebar en de footer met de steeds weer terugkerende widgets?

Dat kan! Er zijn een aantal mooie plugins waarmee je meer controle over de layout van je site krijgt.

Widget Logic

Deze plugin geeft elke widget een extra veld genaamd “Widget logic” waarmee je controle hebt over waar de widget verschijnt.
Vul in dit veld bijvoorbeeld in:

is_page() – Widget verschijnt alleen op pagina’s.
is_page(‘contact’) – Widget verschijnt alleen op pagina’s die de titel ‘contact’ hebben.
is_single() && !in_category(‘nieuws’) – Widget verschijnt alleen op berichtpagina’s (is_single) als het bericht niet in de categorie ‘nieuws’ is ingedeeld (!in = niet in).

Op die manier kun je per widget aangeven wanneer je hem wel en niet in je sidebar of footer wilt hebben.

Advanced Custom Field

Deze plugin gaat een stapje verder dan Widget Logic, maar geeft je wel volledige controle over je website.
Met Advanced Custom Field, kun je met een paar muiskliks allerlei extra ‘custom fields’ aan je WordPress back-end toevoegen. Naast de standaard titel en content editor, voeg je heel gemakkelijk extra invulvelden toe aan de post- of pagina editor.

Stel dat je een website bouwt waar je de standaard WordPress berichten gebruikt om bedrijven toe te voegen aan je database. Je kunt dan de titel van je bericht gebruiken voor de bedrijfsnaam en de editor om wat informatie in op te slaan. De ACF plugin kun je dan gebruiken om extra velden toe te voegen waar je gestructuurd bedrijfsinformatie kunt opslaan.
Maak een veld voor het adres van het bedrijf, het aantal medewerkers etc. Deze gegevens worden dan allemaal opgeslagen in een custom field dat gekoppeld is aan je bericht.

In een template, bijvoorbeeld ‘single.php’ die gebruikt wordt om je bericht op de website te tonen, kun je dan die custom fields weer opnemen om ze in je bericht te laten zien.

Gebruik daarvoor:

the_field( "emailadres" );

Op die plek in de pagina zal dan het opgeslagen emailadres van het bedrijf verschijnen.

De mogelijkheden hiermee zijn eindeloos. In combinatie met wat php kennis, met name if / else constructies, kun je hiermee erg veel controle krijgen over je website.

if( get_field('reclame_in_sidebar') )
{
echo "Banner";
}
else
{
echo "Geen banner";
}

Je kunt bijvoorbeeld bij een post een vinkje maken die aangeeft of er bij die betreffende post een reclamebanner zichtbaar moet zijn in de sidebar.

Bovenstaande code zou dan in de sidebar moeten staan. De if statement kijkt of het vinkje aan staat (true) en toont in dat geval ‘Banner’ en anders ‘Geen banner’.
Op deze manier kun je allerlei elementen in je website structuur verwerken die je per pagina aan of uit kunt schakelen of een andere inhoud mee kunt geven.

Het vereist wat meer technische kennis dan de Widget Logic plugin, maar geef je wel bijna eindeloze controle over je website.