Funciones Condicionales de WordPress para mostrar imágenes por categoría

  • Autor Autor Felipe
  • Fecha de inicio Fecha de inicio
Felipe

Felipe

Iota
Redactor
Verificación en dos pasos activada
Verificado por Whatsapp
Hoy me meti en un lio del que casi no pude salir, me ofreci a crear un sitio en wordpress para una radio.... :marchmellow: La cosa es que tenia que mostrar una imagen para cada categoria (Categorias que representan a cada programa que tiene la radio)... cosa que en mi vida habia hecho. Bueno pues, San google en semana santa pues se apiado de mi y al realizar una busqueda me encontre con estas funciones condicionales que tiene wordpress y muy pocos las conocen (Yo ya las conosco :fisheye: ), las funciones son:

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

is_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.

Un ejemplo de como se usaria es esto:
HTML:
<?php 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>";}
?>

Por su puesto, nunca me olvido de citar la fuente.
Saludos.- :ciao:
 
oh mira yo habia estado buscando una cosa como esta :O muchas gracias por compartirla 😀
 
Estas funciones son muy utiles cuando quieres diseñar themes personalizados pero la fuente de informacion mas seria sobre estas funciones esta aqui en el Codex de WordPress, que es la página de la documentación oficial de WordPress.
 
Si, es la pagina oficial de documentación de wordpress... peeero, esta en ingles. ¬¬
 
Pero el código es lenguaje universal 😉

De todas formas, les servirá a muchos. 🙂
Saludos.
 
A ver quien me puede aydar a ocultar un elemento de la sidebar.php para que no se muestre en el single.php

He probado con esto pero se sigue mostrando en el single

PHP:
<?php if (!(is_single() )) { ?>
Aqui va lo que quiero ocultar en el single
      <?php } ?>
 
Última edición:
Amigo, gracias por esto, justo estoy usando esto en el header, para aplicar mi propio seo sin usar plugins, pero tengo un inconveniente, sabes como puedo hacer que por ejemplo: dentro de los posts de una determinada categoria, vayan con un title diferente, actualmente tengo esto:
<?php } elseif (is_single()) { ?>
<title><?php wp_title(''); ?></title>
pero quiero que cuando el posts tenga una categoria llamada "noticia" entonces me muestre el titulo asi:

<title>NOTICIA <?php wp_title(''); ?> online en HD</title>

sabes que condicional usar o añadir al is_single() para poder que me funcione.
saludos y gracias
 
Atrás
Arriba