Cuando estamos personalizando nuestro WordPress y sobre todo queremos mejorar su rendimiento, el uso de algunas funciones de WordPress para saber en que tipo de página estamos cómo is_single, is_home, is_page y el resto nos podemos encontrar con que no funcionan…parece como si nuestro WordPress pasara de ellas.
En mi caso suelo recurrir a estas funciones bien para incluir en el footer algunos javascripts o css que solo requieren ser cargados en las páginas de artículos (como un plugin que muestre cuantas veces se ha compartido el artículo en las redes sociales) o en el sidebar para mostrar diferentes contenidos o publicidad si están en la home o en alguna otra parte de la web.
Si alguna vez os ocurre que no se ejecutan correctamente estas funciones condicionales seguramente es porque habéis modificado la query de WordPress o lo haya hecho un plugin por vosotros. En este caso la solución es muy sencilla y lo único que hay que hacer es ejecutar la función que WordPress trae para resetear la query “por defecto” con wp_reset_query();.
<?php
wp_reset_query();
if ((is_single()) || (is_page()))
{
echo 'Imprimir el código que queramos si estamos en un artículo o en una página';
}
?>