Descubre las etiquetas condicionales de WordPress

Category: Tutorial 9 0

Todos usamos declaraciones condicionales en nuestros desarrollos bajo WordPress, ¿verdad? Pero, ¿conoces todas las etiquetas condicionales incorporadas en WordPress? Son simplemente geniales porque gracias a estas etiquetas es muy fácil crear declaraciones condicionales. Puedes, por ejemplo, mostrar el contenido sólo para algunos usuarios, o cargar scripts sólo si una página está usando una plantilla personalizada específica, o incluso dar estilo a un post si este post es pegajoso.

Las etiquetas condicionales pueden ser usadas en sus temas o en sus plugins, no importa, pero tenga en cuenta que en algunos plugins a veces será un poco difícil usar algunas etiquetas (de hecho, todas las etiquetas específicas de los temas).

Etiquetas condicionales disponibles

A continuación figura la lista de funciones condicionales disponibles:

  • comments_open
  • has_tag
  • has_term
  • en_categoría
  • es_404
  • is_admin
  • is_archivo
  • is_attachment
  • es_autor
  • es_categoría
  • es_tema_de_niños
  • is_comments_popup
  • is_date
  • es_día
  • is_feed
  • is_front_page
  • is_home
  • es_mes
  • es_multi_autor
  • is_multisite
  • is_main_site
  • is_page
  • is_page_template
  • is_paged
  • is_preview
  • is_rtl
  • is_search
  • is_single
  • is_singular
  • es_pegajoso
  • is_super_admin
  • is_tag
  • is_tax
  • es_tiempo
  • is_trackback
  • es_año
  • pings_open
  • post_type_exists
  • is_post_type_hierarchical
  • is_post_type_archive
  • is_comments_popup
  • taxonomía_existe
  • es_nuevo_día
  • has_excerpt
  • has_nav_menu
  • en_el_lazo
  • is_active_sidebar
  • is_main_site
  • es_plugin_activo
  • es_tema_de_niños
  • soportes_de_tema_actual

Probablemente conoces a algunos de ellos, pero ¿realmente sabes la diferencia entre is_single_() y is_singular()? O entre id_día() y es_fecha() ? ¿Sabías que is_preview() ? Para entender cómo funciona cada función, simplemente haz clic en el nombre de la etiqueta, y lee cuidadosamente las instrucciones en el códice.

Todas las etiquetas condicionales devuelven VERDADERO o FALSO

Las etiquetas condicionales son una de mis características favoritas de WordPress y te animo a que las utilices ampliamente en tus códigos. Todas las funciones siempre devuelven VERDADERO o FALSO, nunca IDs o array().

Una estrecha relación con la jerarquía de plantillas

Como sabrán, WordPress utiliza un sistema de jerarquía de plantillas muy poderoso. Bueno, el uso de etiquetas condicionales está estrechamente relacionado con esta jerarquía. Este es el principio que se utiliza para seleccionar la página de plantilla a utilizar dependiendo de la URL que estás visitando.

Las etiquetas condicionales aceptan muchos argumentos

Cuando se usan estas etiquetas condicionales hay que saber que se les puede pasar diferentes variables como IDs, slug o arrays. Aquí hay un ejemplo tomado del códice con la función is_author():

es_autor() Cuando se muestra cualquier página de Autor. es_autor( 4 ) Cuando se muestra la página de archivo para el número de Autor (ID) 4. es_autor( Vivian ) Cuando la página de archivo del autor con el apodo de “Vivian” se muestra. es_autor( john-jones ) Cuando se muestra la página de archivo del Autor con el nombre de Nicea “john-jones”. es_autor( array( 4, john-jones, Vivian ) ) Cuando la página de archivo del autor es o bien la identificación de usuario 4, o bien nombre de usuario “john-jones”, o apodo “Vivian”.

Ejemplos

Así es como funcionan casi todas las funciones condicionales pero, por supuesto, se pueden combinar muchas condiciones:

if ( is_home() && in_category( array( 9, blue-cheese, Stinky Cheeses ) ) ) {    el_contenido(); } más {    el_excerto(); } 

o puede hacer una acción si se produce una situación u otra:

if ( is_home() || in_category( array( 9, blue-cheese, Stinky Cheeses ) ) ) {    el_con 

Y si quieres hacer una condición negativa, usa "! ":

$paged = $wp_query- &gt get( page ); si ( ! $paged || $paged < 2 ) {     // Esto no es una página paginada (o es simplemente la primera página de una página/postal paginada) } más {    // Esta es una página paginada. } 

Y por último, el uso de etiquetas condicionales es como cualquier otra declaración PHP "else if":

if ( is_page( about ) || 2 == $post- >post_parent ) {     // la página es "Acerca de", o el padre de la página es "Acerca de"     $bannerimg = about.jpg; } elseif ( is_page( learning ) || 56 == $post- >post_parent ) {	     $bannerimg = teaching.jpg; } elseif ( is_page( admisiones ) || 15 == $post- >post_parent ) {     $bannerimg = admisiones.jpg; } más {     $bannerimg = home.jpg; // por si acaso estamos en una página no clasificada, tal vez la página de inicio }	 

Creación de etiquetas condicionales personalizadas

En algunos casos es necesario crear sus funciones condicionales personalizadas. Eso es bastante fácil de hacer, pero muy a menudo los nombres de las funciones no siguen la misma lógica que la utilizada por los desarrolladores del núcleo. Por favor, usa la misma convención de nombres usando prefijos como " is_ ", " has_ ", " in_ ". Esto es muy útil en particular si no eres la única persona que trabaja en un guión específico.

Related Articles