Mod de a detecta dacă este is_404() sau is_page() sau etc...?
există vreo metodă de a afișa, în felul următor:
echo $current_type;
și să obținem:
is_404() sau is_page() sau orice altceva is_blabla()
is_404() și is_page() sunt pur și simplu condiționale care verifică dacă o condiție există. De exemplu, is_404() verifică dacă pagina curentă este o pagină 404 și returnează true în caz de succes și false în caz de eșec.
FOARTE IMPORTANT: Etichetele condiționale de interogare nu funcționează înainte ca interogarea să fie rulată. Până atunci, ele întotdeauna returnează false
Puteți obține obiecte de pe pagina curentă făcând un simplu var_dump pe get_queried_object(), de exemplu:
<?php
$queried_object = get_queried_object();
var_dump( $queried_object );
?>
EDITARE
Toate aceste condiționale sunt setate în clasa WP_Query, și apoi încapsulate separat într-o funcție în wp-includes/query.php. De exemplu, is_404() este doar un wrapper pentru $wp_query->is_404();
697 /**
698 * Este interogarea o eroare 404 (nu returnează rezultate)?
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__, __( 'Etichetele condiționale de interogare nu funcționează înainte ca interogarea să fie rulată. Până atunci, ele întotdeauna returnează false.' ), '3.1' );
711 return false;
712 }
713
714 return $wp_query->is_404();
715 }