Spring naar inhoud
13 oktober 2010 / Rian Rietveld

Keuze afbeelding afhankelijk maken van tag of URL in WordPress

Voor de site allesovervoeten.nl kreeg ik de vraag of het logo niet afhankelijk kan zijn van de inhoud van de berichten en pagina’s. Een algemeen- of een sportlogo. Mais bien sûr…

Dit kan op twee manier, met zo min mogelijk moeite voor de webredactie: door de tag “sport” aan elke betrefende pagina of bericht toe te voegen en door in de uri naar het woord “sport” te zoeken.

Twee logo’s:

  • Podotherapie van der Kaa, het standaard logo (algemeen.jpg)
  • Sportpodotherapie van der Kaa, het logo dat bij alle artikelen, pagina’s over sport moet komen te staan (sport.jpg).

In de header.php:

<?php rrwd_get_logo_by_tag() ?>

In functions.php:

function rrwd_get_logo_by_tag() {
  global $post; 

  $sport = false;
  $logo  = "/pad_naar_logo/algemeen.jpg";
  $alt   = "Podotherapie";

  if ( get_the_tags($post->ID) ){
    foreach (get_the_tags($post->ID) as $tag) {
       $tag_name = $tag->name;
       $tag_name = strtolower($tag_name);
       if ( $tag_name  == "sport" ) $sport = true;
    }
  }

  if ( strpos($_SERVER['REQUEST_URI'],"sport") !== false ) $sport = true;

  if ( $sport ) {
      $logo = "/pad_naar_logo/sport.jpg";
      $alt = "Sportpodotherapie";
  }
   echo "<a href='/' title='voorpagina'><img src='".$logo."'  id='logo' alt='".$alt."'></a>";
}

See it in action: Allesovervoeten.nl
En ja, de logo’s zijn niet scherp, work in progress…

Bronnen

2 reacties

Geef een reactie
  1. Hiranthi / nov 18 2010 12:12

    Ik heb het voor een klant op een andere manier gedaan (daar ging het om een ander logo voor elk onderdeel), met behulp van de body_class functie in WordPress heb ik via CSS de div waar het logo in moest komen steeds een andere background gegeven.

    Groetjes,
    Hiranthi

    • Rian Rietveld / nov 18 2010 12:24

      Hoi Hiranthi,

      Dat is ook een handige manier. Dan hoef je alleen het stylesheet aan te passen als je een andere naam logo wilt :)

      Groetjes,
      Rian

Geef een reactie

Fill in your details below or click an icon to log in:

WordPress.com logo

Je reageert onder je WordPress.com account. Log Out / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log Out / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log Out / Bijwerken )

Verbinden met %s

Follow

Get every new post delivered to your Inbox.