WordPress dispone de un montón de funciones condicionales que nos permite conocer ciertos datos desde nuestros themes. Estas funciones son realmente útiles si queremos centralizar alguna funcionalidad sin tener que depender de otros ficheros o complicadas comprobaciones. Conocerlas nos ahorrarán un tiempo que podemos emplear en salir a pasea, que empieza a mejorar el tiempo.
Condiciones para…
Página principal
-
is_home()
- Cuando estamos en la página inicial.
Un post «single»
is_single()
- Nos indica si estamos en un post «single»
-
is_single('17')
- Nos indica si estamos en el post «single» con id «17»
-
is_single('Beef Stew')
- Nos indica si estamos en el post «single» con el título «Beef Stew»
-
is_single('beef-stew')
- Nos indica si estamos en el post «single con el post slug «beef-stew»
Cualquier página con comentarios
-
comments_open()
- Nos indica si tenemos los comentarios abiertos y podemos comentar.Requiere estar en el WordPress Loop.
-
pings_open()
- Nos indica si tenemos los pings abiertos y podemos recibirlos.Requiere estar en el WordPress Loop.
Una página
Cuando escribimos un post podemos elegir entre post o página, estas opciones se refieren a este tipo de entradas.
is_page()
- Cuando estamos en una página
-
is_page('42')
- Cuando estamos en una página con ID 42
-
is_page('About Me')
- Cuando estamos en una página con el título «About Me»
-
is_page('about-me')
- Cuando estamos en una página con el page slug about-me»
Por desgracia, wordpress no dispone de una función is_subpage()
, pero tenemos una solución para esta carencia.
-
if(get_the_title($post->post_parent) != the_title(' ' , ' ',false)) { echo "This is a subpage"; }
- Determina si la página tiene padre, si es asi nos mostrará el texto por pantalla.
En categorias
-
is_category()
- Nos indica que estamos viendo una categoría
-
is_category('6')
- Nos indica que estamos viendo una categoría con ID 6
-
is_category('Cheeses')
- Nos indica que estamos viendo una categoría con Nombre «Cheeses»
-
is_category('cheeses')
- Nos indica que estamos viendo una categoría con category slug «cheeses»
-
in_category('5')
- Nos indica si un post está dentro de la categoría con ID . Muy util para por ejemplo los asides.
En Autores
Las páginas de autores son las que se encuentra en authors.php.
-
is_author()
- Nos indica si estamos viendo una página de autor
-
is_author('1337')
- Nos indica si estamos viendo una página de autor con ID 1337
-
is_author('Elite Hacker')
- Nos indica si estamos viendo una página de autor con Nickname «Elite Hacker»
-
is_author('elite-hacker')
- Nos indica si estamos viendo una página de autor con Nicename «elite-hacker»
En Fecha
Cuando estamos buscando por fecha, mediante el calendario (por ejemplo).
-
is_date()
- Nos indica si estamos buscando por cualquier tipo de fecha
-
is_year()
- Nos indica si estamos buscando por fechas según un año
-
is_month()
- Nos indica si estamos buscando por fechas según un mes
-
is_day()
- Nos indica si estamos buscando por fechas según un día
-
is_time()
- Nos indica si estamos buscando por fechas según un una hora, minuto o segundo.
En Archivos
is_archive()
- Nos indica si estamos mostrando algún tipo de archivo (Categorias, Autores, Fechas,..)
Página de resultados
-
is_search()
- Nos indica si hemos realizado una busqueda
404 Not Found Page
-
is_404()
- Nos indica si nos encontramos la página 404.
Página páginada
- i
s_paged()
- Nos indica si estamos usando <!--nextpage--> para página nuestra página o post.
Un Attachment
-
is_attachment()
- Nos indica si el post o página dispone de un attachement o no.
Sindicacion
-
is_feed()
- Nos indica si se trata de un feed o no.
A Trackback
- is_trackback()
- Nos indica si se trata de un trackback o no.
Ejemplo de uso
Veamos un ejemplo de uso para comprobar si estamos en un post «single» o no.
if (is_single()) {
echo 'Estoy en un post';
} else if (is_home()){
echo "Estoy en la home";
} else if (is_feed()) {
echo "<info>Estamos en el RSS</info>";}
21 comentarios, 9 referencias
+
#