Skip to content

Sidebar weergeven op een bepaalde pagina

WordPress sidebar tonen op een pagina naar keuze

Wordpress logoIk zie veel vragen op fora over het plaatsen van widgets of sidebars- zijbalken – op een bepaalde pagina.┬á Soms wil men de sidebar met bepaalde widgets alleen op de blog of index pagina, soms alleen op een WordPress pagina zoals een contact pagina of een about us pagina weergeven. En dit is veel eenvoudiger dan men altijd denkt. WordPress is gebouwd met PHP en PHP is een server side scripiting taal die met een eenvoudige if else statement bepaalde data op een pagina kan laten zien of niets. Een if else stament is een controle of stelling die PHP bij de server opvraagt of oproept. Komt de stelling overeen met de huidige situatie doe dan A en anders doe B. Of gewoon een if stament: als A is doe dan B. WordPress zelf kan met de PHP if of if else statement in combinatie met haar template tags heel eenvoudige een sidebar met widgets weergeven wanneer dat nodig is.



Sidebar weergeven op de home page of index pagina

We zullen nu een voorbeeld laten zien van hoe we een dynamische sidebar of zijbalk “introductie” op eenvoudige wijze alleen op de home page of index pagina laten zien. Dit doen we door het toevoegen van een if statement op de pagina waar we de sidebar met de naam introductie willen tonen. Hiervoor gebruiken we de volgende code:

<?php if (is_front_page() && function_exists('dynamic_sidebar') && dynamic_sidebar('Introduction') ) : ?><br /><br /><br />
 <?php endif; ?>

Als je de code bekijkt zie je een WordPress template tag

is_front_page()

. Deze functie geeft iets weer als het de voorpagina is oftwel de homepage. Het tweede element is

function_exists('dynamic _sidebar')

die checkt of er een dynamische sidebar is die dus widgets kan bevatten. Als laatste element checkt de if statement of de dynamische sidebar introduction heet

dynamic_sidebar('Introduction')

. Als er aan alle drie die voorwaarden is voldoen zal de sidebar worden getoond. Het teken

&&

is PHP voor EN. Dus als a en b en c het geval is toon dan de sidebar introduction. De if statement wordt afgesloten met

<?php endif; ?>

Sidebar weergeven op een andere WordPress pagina

Om een sidebar 2 op de about pagina – of een pagina met een andere naam in plats van about – te tonen kun je deze code met de naam van de pagina gebruiken:

<?php if (is_page('about') && function_exists('dynamic_sidebar') && dynamic_sidebar('2') ) : ?><br /><br /><br />
 <?php endif; ?>

De wordpress is_page(”) is hier uitstekend voor geschikt. Met if_page kan je WordPress blog controleren op welke pagina code wordt uitgevoerd. Dit kan met pagina namen gedaan worden, maar ook met pagina IDs.

Update: Plugin optie voor weergave widgets op locatie naar keuze

Er is ook een WordPress plugin om widgets op bepaalde pagina’s , posts, in bepaalde categorie├źn of bij bepaalde auteurs te tonen. De plugin “Custom Widgets” is hier down te loaden. Doede.net heeft deze plugin nog niet getest, maar hij zou tot WordPress 2.8.6 goed moeten functioneren.

Gepubliceerd door Doede op donderdag 26 november 2009
7 Reacties
  1. Dit is veel makkelijker te doen met de Widget Logic plugin.

    http://wordpress.org/extend/plugins/widget-logic/

  2. Hoi Marcel, bedankt voor je reactie. Erg leuk om feedback te krijgen! Widget Logic hebben we ook al toegepast voor widgets. Dan moet je nog steeds wel “Conditional Tags” gebruiken, maar opzetten is inderdaad makkelijker voor plaatsen van widgets waar je ze wil hebben. Widget Logic is vergelijkbaar met http://wordpress.org/extend/plugins/slayers-custom-widgets/faq/ die we in onze bericht noemden.
    Het voordeel van onze manier van sidebars in een thema/child theme zetten is dat je een thema zo in een keer kan verhuizen met conditional tags voor sidebars hard coded naar een andere server met een andere al dan niet oudere bestaande database en dat ze meteen gaan werken. Een ander verschil tussen dit artikel en Widget Logic is dat we het hier hebben over het plaatsen van sidebars (waarin meerdere widgets kunnen) op bepaalde pagina’s of onder bepaalde berichten met conditional tags.

  3. Hallo,

    Ik ben bezig om de website het-schippertje.nl te vernieuwen, maar ik wil graag dat mijn linker sidebar blijft staan als ik op een pagina naar beneden ben aan het scrollen, is dat een plugin voor of is er een andere methode?

    Ruben

  4. ik probeer dit al een tijdje het lukt wel maar dan zie je effect op andere pagina’s de tekst(wat in het midden hoort te staan staat dan links) maar de sidebar is niet te zien!
    graag een oplossing hiervoor?

  5. mariska permalink

    Beste Jasper,

    Ik wil graag alleen een rechter side bar op mijn homepage/ eerste pagina.
    Het is een pagina, dus de side =bar met inhoud verschijnt op alle pagina’s.
    Ik heb meerdere plugin’s geprobeerd die laten de inhoud van mijn sidebar
    verdwijnen, maar de sidebar is er nog steeds waardoor de pagina toch in verdrukking komt bij mijn webshop.

    Ik wil echt alleen op mijn homepage een sidebar en niet op de rest van de pagina’s. Ik heb je code gezien, maar waar moet ik deze precies plaatsen?

    Alvast bedankt,
    Mariska

Laat een reactie achter

NB: XHTML is toegstaan. Je email adres wordt niet gepubliceerd.

Abonneer je op de reacties op dit artikel via RSS

*