Una de las funciones que más utilizaremos si desarrollamos bajo wordpress son los condicionales. Hay veces que queremos mostrar un contenido u otro según la página, mostrar algo sólo en algunas entradas, añadir una imagen o clase a un div cuando es un usuario concreto o cuando queremos que analytics no se muestre si entramos a nuestra propia página como admin… para ello están los condicionales y wordpress ya tiene bastantes funciones predefinidas.
Los condicionales podemos mostrarlos dentro de un mismo php, y aunque en siguientes entradas explicaré cómo hacer cosas más complejas, este de momento será útil si sólo queremos añadir un texto o una imagen:
<?php
if( is_home() ):
echo 'Bienvenido a la página de inicio';
else:
<!-- vacio -->
endif;
?>
El mecanismo es sencillo, si está en la página home muestra el echo
de debajo, para las demás no mostrará nada pero podemos complicarlo un poco, añadiendo dos condiciones, como por ejemplo:
<?php
if( is_home() ):
echo 'Bienvenido a la página de inicio';
elseif (is_page('Contacto') ):
echo 'Ponte en contacto conmigo';
else:
endif;
?>
En este caso la primera condición es la misma pero añade una segunda, en caso de que no se cumpla la primera muestra un texto distinto para la página contacto… y para el resto no muestra nada.
También podemos combinar condicionales:
<?php
if( is_single() AND is_author('Dam')):
echo '<img src="ruta/imagen1.jpg" alt="" />';
elseif (is_page('Contacto') OR is_page('Sobre mi')):
echo '<img src="ruta/imagen2.jpg" alt="" />';
elseif (is_page('Contacto') || is_page('Sobre mi')):
echo '<img src="ruta/imagen2.jpg" alt="" />';
else:
endif;
?>
En este tercer ejemplo el AND dice que si se cumplen las dos condiciones de estar en una entrada (single) y el autor es Dam aparecerá la imagen 1. Si por el contrario estamos en la página Contacto o (OR) Sobre mi, en cualquiera de las dos mostrará la imagen 2.
OR y || son lo mismo. AND y && son equivalentes también.
Para conocer todas las funciones predefinidas puedes consultar el códex de wordpress:
Todos los condicionales en wordpress