Mucha gente parece tener problemas con la barra lateral (sidebar), el título, etc, y es fácil de solucionar con Tags Condicionales.
A continuación tienes tres cuestiones de ejemplo para asegurar que coges la idea de como funcionan:
- No quiero mostrar el blogroll en la barra lateral en el blogroll o la página de enlaces
- Quiero escribir un mensaje en la barra lateral pero solo debería ser visible en la página principal
- Quiero escribir un mensaje en la barra lateral pero debería estar oculto en la página principal y en la página de categorías
Empecemos listando las tags condicionales posibles:
- is_home()
- is_single()
- is_page()
- is_category()
- is_author()
- is_date()
- is_year()
- is_month()
- is_day()
- is_time()
- is_archive()
- is_search()
- is_paged()
- is_404()
Todas estas tags condicionales pueden especificarse mas añadiendo ID, nombre o slug en el paréntesis, de modo que si quisiéramos hacer algo específico para el post con el ID 102 usaríamos is_single(’102′)
.
Índice de contenidos
Las »cuestiones« 1
No quiero mostrar el blogroll en la barra lateral en el blogroll o la página de enlaces
Algo que debes saber antes de continuar es el ID de la página de enlaces. (en el ejemplo asumiremos que el ID de esta página es 10).
La llamada al blogroll está en el archivo sidebar.php de tu plantilla, así que es ahí donde trabajaremos con una tag condicional. Mira este código:
<?php if ( is_page(‘10′) ) { get_links_list(); } ?>
Como puedes ver, hacemos un if is page
si el ID es 10 y LUEGO hacemos esto. Entre la parte del if hay un inicio y fin de tag ( { }
) donde especificamos que queremos que pase.
Las »cuestiones« 2
Quiero escribir un mensaje en la barra lateral pero solo debería ser visible en la página principal
Esto es casi lo mismo que en la primera cuestión, y se resuelve del mismo modo. Mira el código:
<?php if ( is_home() ) { ?> Este es un mensaje personalizado y solo aparece en la página principal <?php } ?>
¿Que cambia?. Nada mas que la tag condicional
Las »cuestiones« 3
Quiero escribir un mensaje en la barra lateral pero debería estar oculto en la página principal y en la página de categorías
De nuevo, es casi lo mismo que lo anterior, pero para esta petición queremos hacer un if is not
y un or
. Veamos el código:
<?php if (!(is_home() || is_category())) { ?> Este es un mensaje personalizado que aparecerá en todos los sitios menos en la página principal y en la de categorías. <?php } ?>
Las dos únicas diferencias con respecto a los ejemplos anteriores son el !
y las ||
. El !
especifica la frase if is not
las ||
el or
. De modo que toda la llamada sería algo como: SI NO ESTÁ (if is not
) en la página principal O (or
) en una página de categorías ENTONCES (then
) …
Fin
Entonces ¿que hay del resto de tags condicionales?, pues que puedes usar todas las tags condicionales de este modo, y así hacer tu contenido mucho mas dinámico. Utilizando esto, tu barra lateral no tiene porqué mostrar las mismas cosas en todas las páginas, y puedes hacer fácilmente que los titulares sean distintos en las distintas páginas de tu blog. Si quieres saber mas de tags condicionales visita el codex de WordPress.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
WOW, un usuario común, cuyo interés sea el de escribir su blog, verá este trabajo demasiado arduo.
Afortunadamente los escritores no tienen que preocuparse mas que por escribir. Existe un ejercito de entusiastas programadores que ya hicieron algo parecido a lo que uno quiere para su blog. Es fácil encontrar a otros programadores que hagan las modificaciones que se necesiten.
Sin embargo, es un hecho que tienes que ser un programador, para hacer algo como esto.
Es importante notar, que otros CMS como Movable Type hacen de este tipo de tareas, si no algo trivial, algo sencillo. Y ya hay una versión Open Source (que llego 5 años tarde, todo hay que decirlo).
Muy interesante el post. No dejo de aprender con vuestro blog un montón de cosas nuevas con las que adaptar el código de las plantillas y, como digo, son cosas muy interesantes.
Ya estoy viendo venir un nuevo blog «ayudaMovableType.com» =;-)
No.
Movable Type es para nosotros, los old fashion men, que escribimos nuestros propios plugins y no pedimos ayuda. 😛
¿Qué hay de malo en pedir ayuda?
Como añado varias pagina/ID a una condicional?
Que tal, tengo una pregunta yo utilizo estos condicionales, pero he visto en algun lado y ya no me acuerdo que se puede pasar como parametro para una categoría todos los post de esta, osea era algo asi como post-parent el codigo.
Lo que necesito es esto, en la single.php donde se abren los post quiero que en todos los post de determinada categoría me aparezca un include, pero no logro hacerlo, le pongo el condicional is_category(‘nombre’) y no hay caso, también probe con array pero hay que poner el nombres exactos tambien,
me pueden dar una mano , gracias
Hola! Están muy bien estos tags condicionados, pero me gustaria saber que código usar en el caso de que quiera usar una descripción en una página determinada, y no en las subpáginas. Ejemplo:
<?php
if(is_page('foro-de-pesca')) {
echo ' ';
}
?>
De esta forma la descripción aparece siempre en las subpáginas de ‘aux’pero yo solo quiero que aparezca en ‘aux’
Hay alguna manera de que solo aparezca algo en la página principal? si usas is_home() aparece en todas las páginas (page/2,page/3,page/4….)
¿alguien sabe?
Gracias y un saludo!
lo he resuielto así:
<code>
</code>
Gracias y un saludo ;p
como resolviste? a mi me pasa l omismo
Alguien sabe como poder meter un codigo de publicidad tipo popunder, que salga o se active cuando si un lector esta en el home o en alguna noticia individual y al dar click en cualquier categoría se active el anuncio popunder.
En mi plantiila uso este codigo para llamar a las categorías:
Como uso el tag condicional is_category() para poner el codigo del popunder y solo se active cuando alguien de click en cualquier categoría del blog??
codigo del popunder
Es lo correcto??
Saludos y muchas gracias por su amable ayuda.
Domanda, non esistono dei tag condizionali… o simili per sapere se quella pagina è "figlia di" o se ha un tema particolare?
Que tag condicional puedo usar para mostrar algo solo en una página de post??
O sea en el menu configuracion de Lectura, tengo puesto que la página incial sea una página estática, y la página de entradas sea una llamada "blog". Como puedo detectar esta página??
El tag is_page('blog') no funcoina, supongo que debe considerarlo algo diferente a una página.
Buenas, necesito saber si es posible mostrar un widget dependiendo de la categoria. Por ejemplo si
if(is_category(2)){
//muestra el widget 2
}else if(is_category(3)){
//muestra el widget 3}
Les recomiendo que usen este widget, para los que no sabemos programar es la salvación 😉
http://wordpress.org/extend/plugins/widgets-controller/
Saludos!
Gracias por compartirlo
Como hago para los tags? is_tags?