Cómo detectar si es is_404(), is_page() o cualquier otra condición en WordPress

12 sept 2014, 09:42:40
Vistas: 15.2K
Votos: 0

¿Existe alguna manera de obtener un output como este:

echo $current_type;

y que me devuelva:

is_404() o is_page() o cualquier otra función is_blabla()

1
Comentarios

Tu pregunta fue marcada como "no está claro lo que estás preguntando", y yo voté como tal. Como pregunté en tu pregunta anterior, ¿qué estás tratando de lograr? Tal como está, nadie sabe cuál es el resultado esperado. Por favor, realiza una [edición] y explica por qué necesitas hacer esto, qué estás intentando lograr con el resultado esperado.

Pieter Goosen Pieter Goosen
12 sept 2014 10:55:48
Todas las respuestas a la pregunta 1
1

is_404() y is_page() son simplemente condicionales que verifican si existe una condición. Por ejemplo, is_404() simplemente comprueba si la página actual es un error 404 y devuelve true si es así, o false en caso contrario.

NOTA MUY IMPORTANTE: Las etiquetas de consulta condicional no funcionan antes de que se ejecute la consulta. Antes de eso, siempre devuelven false

Puedes obtener objetos de la página actual simplemente haciendo un var_dump en get_queried_object(), por ejemplo:

<?php
$queried_object = get_queried_object();
var_dump( $queried_object );
?>

EDITADO

Todos estos condicionales se establecen en la clase WP_Query, y luego se encapsulan por separado en una función en wp-includes/query.php. Por ejemplo, is_404() es simplemente un envoltorio para $wp_query->is_404();

697 /**
698  * ¿La consulta es un error 404 (no devuelve resultados)?
699  *
700  * @see WP_Query::is_404()
701  * @since 1.5.0
702  * @uses $wp_query
703  *
704  * @return bool
705  */
706 function is_404() {
707         global $wp_query;
708 
709         if ( ! isset( $wp_query ) ) {
710                 _doing_it_wrong( __FUNCTION__, __( 'Las etiquetas de consulta condicional no funcionan antes de que se ejecute la consulta. Antes de eso, siempre devuelven false.' ), '3.1' );
711                 return false;
712         }
713 
714         return $wp_query->is_404();
715 }
12 sept 2014 09:58:28
Comentarios

y eso es lo que quería, obtener la cadena is_ABCD sea cual sea el objeto actual. gracias.

T.Todua T.Todua
1 sept 2016 14:22:19