¿Sabes cómo funcionan los Conditional Tags de WordPress? Te enseñamos a utilizarlos

Personalizar una plantilla en WordPress, es mucho más sencillo si utilizamos para ello los Conditional Tags que nos ofrece WordPress, una característica muy importante de este CMS que permite controlar el contenido que queremos mostrar en cada parte de nuestro theme.

Entre las muchas ventajas que ofrece WordPress, podríamos destacar la posibilidad de personalizar nuestro tema todo lo que quisiéramos, ya no sólo en referencia a colores o imágenes, sino que también podemos controlar el contenido que queremos que se muestre en nuestro sitio. Por ejemplo, nosotros podríamos mostrar un icono distinto dependiendo del área en el que nos encontremos. Para conseguir esto podemos hacer uso de los denominados conditional tags.

En esta entrada, haremos un repaso por la amplia lista de conditional tags que nos ofrece WordPress y la forma que podemos hacer uso de ellos en nuestras plantillas o plugins.

¿Cómo funcionan los conditional tags?

conditional tags wordpress
Fuente: tutsplus

El funcionamiento de estas etiquetas es muy sencillo, ya que se podría decir que se tratan de funciones que devuelve siempre un valor booleano, es decir, true o false. El listado de este tipo de etiquetas es muy amplio y variado. Aquí veremos algunas de las más importantes, pero siempre podemos acudir a la sección de conditional tags del sitio oficial de WordPress para encontrar más información.

A la hora de hacer uso de ellos, siempre lo deberemos hacer dentro de una estructura if-else, para que en caso de que se cumpla o no la condición, haga una u otra cosa.

Por poner un ejemplo. Tenemos disponible el tag «is_home()» que nos devuelve el valor true en caso de que estemos en la portada y false en cualquier otro caso. Si queremos mostrar un mensaje a nuestros visitantes únicamente cuando estuvieran en la portada, podríamos hacerlo de la siguiente forma.

<?php
if(is_home()){
   echo "Bienvenido a nuestro sitio WPdirecto!!!"
}
?>

En este caso os hemos mostrado un sencillo ejemplo de cómo se podría hacer uso de él, pero utilizándola de forma correcta, se le puede sacar un gran partido, incluso podemos llegar a combinar varios de ellos en una misma condición.

Conditional Tags más populares

ejemplo conditional tags
Fuente: wpsites

Anteriormente, ya hemos visto como funciona la etiqueta «is_home()», pero este sólo es un elemento dentro de una vástaga lista, algunos de los cuales os serán de mucha utilidad a la hora de personalizar vuestra plantilla. Veamos algunas de estos tags que deberíais tener siempre en mente a la hora de empezar a personalizar cualquier theme.

is_single()

Con esto estamos preguntando si estamos dentro de un post, es decir, estamos visualizando el contenido de una entrada, pero no una página. En este caso podemos utilizarlo de varias formas diferentes

is_single()  //Nos indica si estamos dentro de un post
is_single('17') //Preguntamos si estamos dentro del post con ID 17
is_single('Titulo post') //En este caso devolverá true cuando el título coincide con el indicado
is_single('titulo-post') //Nos devuelve true si el slug es el mismo que hemos puesto
is_single(array(34,56,23)) //Devuelve true cuando el post tiene alguno de esos IDs

is_page()

Es un tag muy similar al visto anteriormente, pero en este caso, devuelve true únicamente cuando se trata de una páginas, es decir, cuando el valor del campo «post_type» es «page».

is_page()  //Nos indica si estamos dentro de una página
is_page('17') //Preguntamos si estamos dentro de la página con ID 17
is_page('Titulo page') //En este caso devolverá true cuando el título coincide con el indicado
is_page('titulo-page') //Nos devuelve true si el slug es el mismo que hemos puesto
is_page(array(78,34,99)) //Devuelve true cuando la página tiene alguno de esos IDs

is_category($cat)

En este caso, devolvería el valor true siempre y cuando la página actual esté asociada a una determinada categoría que le pasamos como parámetro. WordPress nos permite hacer esto de varias formas diferentes.

is_category('9') //Si está asociada a la categoría con ID 9
is_category('WordPress') //True si está dentro de la categoría WordPress
is_category('wordpress-slug') //Si el slug de la categoría es el que hemos indicado

Al igual que en los dos casos anteriores, se pueden utilizar arrays para indicar más de un valor.

is_tag()

Esta función es muy útil cuando queremos mostrar algo cuando una página tenga asociado un determinado tag. El argumento que le metemos a esta función, sería el slug del tag que queremos comprobar.

is_tag('plantilla') //Nos devolvería true si la página está asociado al tag con el slug que hemos indicado.
is_tag(array('plantilla', 'plugin')) // En este caso, le pasamos dos valores.

hast_tag()

Sin dejar el mundo de las etiquetas, nos encontramos con este condicional, que lo que hace es indicarnos si la página en la que estamos tiene el tag que hemos indicado. El funcionamiento es el mismo que el caso anterior.

is_author()

Cuando se está mostrando una página del autor que se le pasa a la función por parámetro, entonces devolvería el valor true.

is_author('4') //En este caso le preguntamos si es el autor con ID 4
is_author('Angel') //Devolvería true si el nickname es el que le hemos indicado
is_author(array('4','Angel')) //True si cumple alguna de las condiciones indicadas

is_archive()

Nos indica si estamos mostrando algún tipo de archivo (Categorías, Autores, Fechas,..)

is_attachment()

Nos indica si se está mostrando algún dato adjunto que pudiera tener la página o post en el que nos encontramos. Cuando hablamos de adjuntos nos referimos a una imagen o cualquier otro archivo que podamos haber subido.

is_search()

Lo que hacemos cuando utilizamos esta función, es preguntar si hemos realizado una búsqueda. En este caso, podemos aprovechar para mostrar los resultados de una forma diferente a como lo hacemos cuando se trata de un listado de post o de páginas.

is_404()

Muy útil si queremos personalizar nuestra página de error 404. Con esto preguntamos si se ha producido el error «HTTP 404: Not Found«, es decir, el error de página no encontrada.

is_singular()

Nos devolverá un valor true siempre y cuando, lo que estemos visualizando, se trata de un post, una página o un adjunto. En caso contrario, lo que devolvería sería false.

Un ejemplo de uso

como funcionan los conditional tags
Fuente: wpexplorer

Vamos a suponer que dependiendo de la zona en la que nos encontremos (post, página, portada…), el logotipo que se mostrará en nuestro portal será uno u otro. Para conseguir esto, lo podríamos hacer de la siguiente forma que os mostramos.

if(is_home()){
    <img src="logo-home.png"/>
}elseif(is_single()){
    <img src="logo-interior-post.png"/>
}elseif(is_page()){
    <img src="logo-pagina.png"/>
}elseif(is_search()){
    <img src="logo-busqueda.png"/>
}else{
    <img src="logo-default.png"/>
}

En este código, si no se cumple ninguna de las condiciones indicadas, lo que se mostraría, sería una imagen por defecto.

Suscríbete a la newsletter





Últimos artículos

Scroll al inicio