Comment: inspecter les variables globales dans WordPress

21

Les gens sont souvent perplexes sur la manière d'obtenir des données d'objets / variables globaux

Question: De quelle manière pouvez-vous inspecter les variables globales?

Ce Q a été écrit parce qu’il est souvent nécessaire d’être ici, à WA. Je voulais juste l'avoir comme fav pour faire un lien ici (les gens ne regardent souvent pas les liens de github gist).

N'hésitez pas à modifier l'exemple si quelque chose ne va pas ou si vous pensez que quelque chose manque dans l'explication. Si vous souhaitez ajouter d'autres éléments utiles, veuillez les ajouter en tant que réponse unique. Merci.

    
posée kaiser 25.06.2016 - 15:57

3 réponses

4

Comment inspecter les données:

Utilisez-le pour obtenir un aperçu de ce que vous pouvez utiliser à partir de la requête actuelle / wp_query.

function inspect_wp_query() 
{
  echo '<pre>';
    print_r($GLOBALS['wp_query'])
  echo '</pre>';
}
// If you're looking at other variables you might need to use different hooks
// this can sometimes be a little tricky.
// Take a look at the Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference
add_action( 'shutdown', 'inspect_wp_query', 999 ); // Query on public facing pages
add_action( 'admin_footer', 'inspect_wp_query', 999 ); // Query in admin UI

Btw:

    // this:
    global $wp_query;
    $wp_query;
    // is the same as
    $wp_query;
    // and as this:
    $GLOBALS['wp_query'];

// You can do this with each other global var too, like $post, etc.

Comment obtenir réellement les données:

// Example (not the best one)
(Object) WP_Query -> post (stdClass) -> postdata (Array)

// How to get the data:
// Save object into var
$my_data = new WP_Query; // on a new object
// or on the global available object from the current request
$my_data = $GLOBALS['wp_query'];

// get object/stdClass "post"
$my_post_data = $my_data->post;
// get Array
$my_post_data = $my_data['post'];

Exemples
Lister tous les noms des barres latérales?
(Génère un objet déroulant / sélectionné avec toutes les barres latérales à l'intérieur du global $wp_registered_sidebars )     
réponse donnée kaiser 13.04.2017 - 14:37
12

Si vous êtes paresseux, installez simplement le plug-in Barre de débogage .

Il ajoute un bouton à la barre d'administration qui, lorsque vous cliquez dessus, affiche un panneau contenant toutes sortes d'informations utiles, notamment des avis de dépréciation, des variables WP_Query et un journal de requête SQL.

    
réponse donnée scribu 25.03.2011 - 15:37
0

En fonction du lieu de chargement des scripts et du rendu de la sortie finale, certaines des variables mentionnées ci-dessus peuvent ne pas être présentes. Si vous voulez une vue assez inclusive, peut-être un peu extrême, essayez:

var_dump($GLOBALS);

var_dump est également intéressant car il vous indique le type et formate un peu les données.

    
réponse donnée Jahmic 15.08.2013 - 14:08

Lire d'autres questions sur les étiquettes