Tags Condicionales en WordPress

camiseta-geek-php.gif

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:

  1. No quiero mostrar el blogroll en la barra lateral en el blogroll o la página de enlaces
  2. Quiero escribir un mensaje en la barra lateral pero solo debería ser visible en la página principal
  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

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′).

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.

 

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(8 votos, promedio: 5)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

22 comentarios en “Tags Condicionales en WordPress”

  1. 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).

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

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

  4. 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’

  5. 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!

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

  7. Pingback: WP Super Cache 0.9.6.1 te permite elegir que cachear | Ayuda WordPress

  8. Pingback: 4r Web Solutions Blog » Breadcrumb in WP

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

  10. 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}

  11. Pingback: Actividades para después de la segunda sesión | Curso de WordPress 2012

  12. Pingback: Alternativas a JetPack

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido