WPLounge
Home » Developers » Verschillende logo’s op pagina’s met Conditional Tags

Verschillende logo’s op pagina’s met Conditional Tags

Met Conditional Tags kun je bepaalde elementen in je thema zich laten aanpassen aan een “situatie”. Stel dat je een online magazine hebt en je logo een klein beetje wilt veranderen per categorie, dan zijn Conditional Tags de oplossing.

Affiliate disclaimer:
In onze artikelen en op onze pagina's staan affiliate links. Wanneer je via één van deze links een aankoop doet, ontvangen wij een (meestal kleine) commissie van de verkoper. Wij geven altijd onze eerlijke mening over producten. Klik hier voor meer informatie.

Ander logo weergeven op een specifieke pagina

In dit voorbeeld willen we de “Beginners”-pagina van WordPress Lounge een speciaal logo geven. Normaal gesproken is het logo bovenin je thema een “statisch” element; een onderdeel dat op iedere pagina hetzelfde is.

Het logo dat wij willen gebruiken voor ons Beginners-onderdeel ziet er als volgt uit.

TIP VAN WPLOUNGE
Divi theme & Divi Builder
Bij Elegant Themes ontvang je meer dan
85 premium WordPress themes (waaronder Divi!) voor maar 89 dollar!

Bekijk de themes »»
Lees meer over Divi.
Dit logo willen we tonen als bezoekers zich in ons "Beginners"-onderdeel bevinden.
Dit logo willen we tonen als bezoekers zich in ons “Beginners”-onderdeel bevinden.

Om te zorgen dat de Beginners-pagina dit logo toont gaan we Conditional Tags gebruiken.

Ons logo wordt nu nog als volgt opgeroepen, omdat het op iedere pagina hetzelfde is:

<a href="<?php echo home_url(); ?>"><img src="https://www.wplounge.nl/wp-content/uploads/2012/11/wordpressloungelogoPNG1.png" alt="<?php bloginfo( 'name' ); ?>" /></a>

Wij willen dit behouden, maar veranderen wanneer iemand zich op onze Beginners-pagina bevindt. Dit doen we met de volgende code:

<?php if (is_page('224')) { ?>
<a href="https://www.wplounge.nl/"><img src="https://www.wplounge.nl/wp-content/uploads/2013/05/wordpressloungelogo-beginners.png" alt="<?php bloginfo('name'); ?>" title="WordPress Lounge" /></a>
<?php } else { ?>
<a href="https://www.wplounge.nl/"><img src="https://www.wplounge.nl/wp-content/uploads/2012/11/wordpressloungelogoPNG1.png" alt="<?php bloginfo('name'); ?>" title="WordPress Lounge" /></a>
<?php } ?>

Uitleg bij de code:

  • De eerste regel bepaalt of de bezoeker zich op de “Beginners”-pagina bevindt (het id-nummer van die pagina is “224“).
  • De tweede regel vertelt wat er getoond moet worden als de bezoeker zich daar bevindt.
  • Daarna wordt er een “else”-statement gebruikt om te vertellen wat er in alle andere scenario’s moet gebeuren, namelijk;
  • Op de vierde regel laten we het “normale” logo zien, voor alle pagina’s die niet onze “Beginners”-pagina zijn.

Onderliggende pagina’s

Het is gelukt, op de Beginners-pagina wordt dankzij bovenstaande code een speciaal logo getoond. Helaas gebeurt dit niet op subpagina’s van het “Beginners”-0nderdeel. We willen natuurlijk dat het speciale Beginners-logo daar óók getoond wordt, want die pagina’s horen ook bij ons gedeelte voor beginners.

Dit kan door het volgende stukje code toe te voegen:

|| '224' == $post->post_parent

Daardoor gaat het gehele stuk code (van het eerdere voorbeeld) er als volgt uit zien:

<?php if (is_page('224') || '224' == $post->post_parent ) { ?>
<a href="https://www.wplounge.nl/"><img src="https://www.wplounge.nl/wp-content/uploads/2013/05/wordpressloungelogo-beginners.png" alt="<?php bloginfo('name'); ?>" title="WordPress Lounge" /></a>
<?php } else { ?>
<a href="https://www.wplounge.nl/"><img src="https://www.wplounge.nl/wp-content/uploads/2012/11/wordpressloungelogoPNG1.png" alt="<?php bloginfo('name'); ?>" title="WordPress Lounge" /></a>
<?php } ?>

Nu laat WordPress het speciale Beginners-logo ook zien op subpagina’s van “beginners”, zoals te zien in onderstaande afbeelding.

wpbeginners-speciaal-logo-conditional

Roger.Overdevest

Roger is een SEO specialist met veel passie voor WordPress

3 reacties

  • Hoi, Wat je boven beschrijft is precies wat ik wil. Er staat alleen niet waar Ik de code hiervoor moet plaatsen? weet je wellicht een methode met een plugin? Of wellicht weet je een manier via css?

    Ik wil voor de pagina vrienden in het menu boven een ander logo.

    Vriendelijke groet, Arno Schouten

    • Dag Arno,

      Dit kan je aanpassen in het functions.php bestand, die staat in de folder van je thema. Maar het is zaak om alleen functions.php te bewerken als je een child-thema gebruikt en eerst een backup hebt van je huidige functions.php bestand. Als dit te ingewikkeld lijkt is een plugin wellicht een betere optie

    • Hoi, Dank voor je reactie!, Ik heb inderdaad een child theme en gebruik dit ook voor functies. Alleen al ik deze code er in plaats krijg ik een foutmelding: Je wijzigingen in de PHP-code zijn teruggedraaid vanwege een fout op regel 52 in het bestand wp-content/themes/storefront-child/functions.php. Los dit op en probeer opnieuw op te slaan.

      syntax error, unexpected ‘&’, expecting end of file

      Weet iemand een oplossing?