1. Web Design
  2. HTML/CSS
  3. HTML

Tutorial sobre de las etiquetas condicionales en WordPress: 53 a 65

Scroll to top
8 min read
This post is part of a series called A Walkthrough on Conditional Tags in WordPress.

Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)

En esta serie, estamos revisando una de las características fundamentales de WordPress: Las etiquetas condicionales. En esta sexta parte, terminaremos de introducir y revisar las etiquetas condicionales. Asegúrate de revisar las partes anteriores si aún no lo ha hecho.

¡Empecemos!

53. Comprobar si la página es una entrada de blog o una página: is_singular()

No sé por qué, pero esta es mi etiqueta condicional favorita: is_singular() puede detectar cuándo se muestra cualquier tipo de entrada. Es básicamente una combinación de las etiquetas condicionales is_single(), is_attachment() y is_page(). Además, si indicas un tipo de entrada (o una matriz de tipos de entradas) como parámetro, solo podrá detectar los tipos de entradas que establezcas.

Parámetros aceptados

Esta etiqueta condicional solo tiene un parámetro:

  • $post_types (matriz/cadena, opcional): nombre del tipo de entrada o matriz de nombres de tipo de entradas. (Predeterminado: Ninguno)

54. Comprobar si la función funciona en "El bucle": in_the_loop()

Si digo que el "loop" o el bucle es la base de WordPress en términos de código, pocos estarían en desacuerdo. Por lo tanto, la etiqueta condicional in_the_loop() es una de las etiquetas condicionales clave, y ayuda a tus funciones a ver si están dentro del bucle o no.

Parámetros aceptados

Esta etiqueta condicional no acepta ningún parámetro.

Ejemplo de uso de in_the_loop()

Supongamos que tu plugin tiene una función que tiene que ejecutarse en el bucle, pero también deseas mostrar un error en el código fuente de la página si el usuario lo utiliza fuera del bucle. A continuación se muestra cómo se crea la función:

1
<?php
2
3
function my_awesome_plugin_function() {
4
5
    if ( ! in_the_loop() ) {
6
    
7
        echo '<!-- ' . __( 'We\'re terribly sorry, but the', 'translation-domain' ) . ' <code>my_awesome_plugin_function()</code> ' . __( 'function of the plugin "My Awesome Plugin" must run inside WordPress Loops!', 'translation-domain' ) . ' -->';
8
    
9
    } else {
10
    
11
        // Run the awesome code because we're in the loop!

12
    
13
    }
14
15
}
16
17
?>

55. Comprobar si el plugin especificado está inactivo: is_plugin_inactive()

Puedes adivinar de qué se trata esta etiqueta condicional por su nombre: definido como "la negación lógica de is_plugin_active()" en el Codex, is_plugin_inactive() comprueba si el plugin indicado está instalado, pero no activado.

Parámetros aceptados

Esta etiqueta condicional solo tiene un parámetro:

  • $plugin (cadena, obligatorio): nombre del plugin o del subdirectorio. (Predeterminado: Ninguno)

56. Comprobar si la página es una página de "Archivos de autor": is_author()

Al crear un plugin (o tema), es posible que desees saber cuándo se muestra una página de archivos adjuntos. La etiqueta condicional is_attachment() es la que te ayudará: Devuelve TRUE si es una página de datos adjuntos y FALSE en cualquier otro caso.

Parámetros aceptados

Esta etiqueta condicional solo tiene un parámetro:

  • $author (cadena/entero, opcional): nombre de usuario o ID del autor. (Predeterminado: Ninguno)

Ejemplo de uso de is_author()

Supongamos que estás desarrollando un plugin relacionado con Google Analytics y deseas establecer una "variable personalizada" para detectar archivos de autor. Esto es lo que harías:

1
<script>
2
3
/* Some Google Analytics related JavaScript here. */
4
5
<?php
6
7
if ( is_author() ) {
8
9
    echo '_gaq.push( [ "_setCustomVar", 1, "' . __( 'Author Archives', 'translation-domain' ) . '", "' . esc_attr( get_query_var( 'author_name' ) ) . '" ] );' . "\n";
10
    
11
}
12
13
?>
14
15
_gaq.push( [ "_trackPageview" ] );
16
17
</script>

57. Comprobar si estamos en una página de "Listado" paginada: is_paged()

En páginas de índice o páginas de archivo del blog, WordPress nos permite utilizar la paginación para dividir los listados de las entradas en páginas consecutivas. Con la ayuda de la etiqueta condicional is_paged(), puedes hacer que tu código detecte si el listado está "paginado" y el número de página es mayor que 1.

Parámetros aceptados

Esta etiqueta condicional no acepta ningún parámetro.

58. Comprobar si se muestra la barra de herramientas de WordPress: is_admin_bar_showing()

La barra de herramientas de WordPress, anteriormente conocida como la barra de administración, es considerada por igual tanto útil como molesta entre la comunidad de WordPress. A algunos les encanta, algunos la odian, por lo que la etiqueta condicional is_admin_bar_showing() podría ser útil para todo el mundo: Determina si la barra de herramientas se muestra o no.

Parámetros aceptados

Esta etiqueta condicional no acepta ningún parámetro.

Ejemplo de uso de is_admin_bar_showing()

Supongamos que deseas ampliar la barra de herramientas con algunos estilos CSS, pero necesitas cargar la hoja de estilos condicionalmente. Esto es lo que harías:

1
<?php
2
3
add_action( 'wp_enqueue_scripts', 'mytheme_admin_bar_styles' );
4
5
function mytheme_admin_bar_styles() {
6
7
    if ( is_admin_bar_showing() ) {
8
9
		wp_enqueue_style( 'mytheme-admin-bar', 'path/to/your/admin-bar.css' );
10
11
	}
12
13
}
14
15
?>

59. Comprobar si la página es una página de "archivos por día": is_day()

Los archivos diarios son probablemente los tipos de archivos basados en fechas más infrautilizados, pero eso no significa que no tengan utilidad, algunos temas pueden incluso tener plantillas diferentes para los archivos diarios. Por lo tanto, si deseas detectar páginas de archivo diarias, puedes utilizar la etiqueta condicional is_day() para realizar el trabajo.

Parámetros aceptados

Esta etiqueta condicional no acepta ningún parámetro.

60. Comprobar si la barra lateral especificada está en uso: is_active_sidebar()

Al crear un tema, debemos tener en cuenta a aquellos que no usan ningún widget. La etiqueta condicional is_active_sidebar() comprueba si la barra lateral especificada tiene widgets.

Parámetros aceptados

Esta etiqueta condicional solo tiene un parámetro:

  • $sidebar (cadena/entero, obligatorio): nombre o ID de la barra lateral (predeterminado: ninguno)

Ejemplo de uso de is_active_sidebar()

Este ejemplo viene del tema Twenty Ten, utiliza la etiqueta condicional para cargar condicionalmente la barra lateral especificada:

1
<?php
2
3
if ( is_active_sidebar( 'secondary-widget-area' ) ) { ?>
4
5
    <div id="secondary" class="widget-area" role="complementary">
6
		<ul class="xoxo">
7
			<?php dynamic_sidebar( 'secondary-widget-area' ); ?>
8
		</ul>
9
	</div> <!-- #secondary .widget-area -->
10
11
<?php } ?>

61. Comprobar si el nombre de usuario indicado existe en la tabla de usuarios: username_exists()

La tercera etiqueta condicional que devuelve algo distinto de TRUE cuando se realiza correctamente es username_exists(). Esta etiqueta condicional comprueba el nombre del usuario especificado y devuelve el ID del usuario si existe un usuario con ese nombre de usuario. Si no existe, devuelve NULL.

Parámetros aceptados

Esta etiqueta condicional solo tiene un parámetro:

  • $username (cadena, obligatorio): el nombre de usuario que se debe comprobar. (Predeterminado: Ninguno)

62. Comprobar si se trata de la página "Vista previa de la entrada": is_preview()

Si tienes algunos elementos de página que no se deben cargar en las visualizaciones previas (como anuncios basados en impresiones o algún código de análisis confidencial), puedes eliminarlos con la ayuda de la etiqueta condicional is_preview().

Parámetros aceptados

Esta etiqueta condicional no acepta ningún parámetro.

Ejemplo de uso de is_preview()

Es recomendable ocultar las páginas de vista previa de Google Analytics, así que debes tener cuidado e incluir tu script de Google Analytics de la siguiente manera:

1
<?php
2
3
if ( ! is_preview() ) {
4
5
    echo '<script>

6
             <!-- Your Google Analytics code. -->

7
         </script>';
8
9
}
10
11
?>

63. Comprobar el estado de un script dado: wp_script_is()

Esto es particularmente útil para los desarrolladores de plugins que no quieren que sus scripts entren en conflicto con otros scripts en cola. Con esta etiqueta condicional, puedes detectar si el script especificado está registrado, en cola, en cola y cargado, o en cola, pero aún no ha sido cargado.

Parámetros aceptados

Esta etiqueta condicional tiene dos parámetros:

  • $handle (cadena, obligatorio): nombre del script (en minúsculas). (Predeterminado: Ninguno)
  • $list (cadena, opcional): Una de las cuatro cadenas, "registered", "enqueued", "done" (en cola e impreso) o "to_do" (en cola pero no impreso). (Predeterminado: "enqueued")

64. Comprobar el estado del estilo dado: wp_style_is()

Esta etiqueta condicional es similar a su hermana, wp_script_is(), pero hace la misma función para las hojas de estilo en cola. Con esta etiqueta condicional, puedes detectar si el estilo dado está registrado, en cola, en cola y cargado, o en cola, pero aún no se imprime.

Parámetros aceptados

Esta etiqueta condicional tiene dos parámetros:

  • $handle (cadena, obligatorio): Nombre del estilo (en minúsculas). (Predeterminado: Ninguno)
  • $list (cadena, opcional): Una de las cuatro cadenas,  "registered", "enqueued", "done" (en cola e impreso) o "to_do" (en cola pero no impreso). (Predeterminado: "enqueued")

Ejemplo de uso de wp_style_is()

Supongamos que estás creando un tema con el framework Bootstrap y has creado un tema de Bootstrap personalizado a incluir. Necesitas asegurarte de que los archivos CSS principales de Bootstrap se pongan en cola primero:

1
<?php
2
3
add_action( 'wp_enqueue_scripts', 'bootstrap_styles' );
4
5
function bootstrap_styles() {
6
7
    if ( wp_style_is( 'bootstrap-main' ) ) {
8
9
        wp_enqueue_style( 'my-custom-bootstrap-theme', 'path/to/custom-theme.css' );
10
11
    }
12
13
}
14
15
?>

65. Comprobar si la taxonomía es jerárquica: is_taxonomy_hierarchical()

Ya sabe que las categorías son jerárquicas: puedes establecer categorías padre y hijas. Lo mismo ocurre con las taxonomías personalizadas, si las estableces así al crearlas. Y si deseas que el código sepa si una taxonomía determinada es jerárquica, puedes utilizar la etiqueta condicional is_taxonomy_hierarchical().

Parámetros aceptados

Esta etiqueta condicional solo tiene un parámetro:

  • $taxonomy (cadena, obligatorio): Nombre de la taxonomía. (Predeterminado: Ninguno)

Conclusión

En esta parte, hemos visto el último lote de las 65 etiquetas condicionales documentadas en WordPress. En la siguiente (y última) parte de la serie, terminaremos revisando lo que aprendimos y una pequeña parte adicional que, con suerte, disfrutarás.

Si tienes alguna pregunta o comentario, dispáralos a continuación, y si te gustó este artículo, ¡no te olvides de compartirlo!