web-dev-qa-db-fra.com

comment voir la requête en cours d’exécution dans wordpress?

Je travaille sur wordpress, ce qui est nouveau pour moi. Maintenant, on m'a fourni un site entièrement conçu en wp, mais le problème est que je ne parviens pas à rechercher dans la requête chaque fonctionnalité/page trouvée.

$wpdb->get_results

utilisé pour obtenir le résultat de la base de données aussi cela ne fonctionne pas

$wpdb->queries

Est-il possible d'imprimer chaque requête en cours d'exécution?.

S'il vous plaît aider.

11
Sparkx

La barre de débogage est l’un des plugins recommandés (par WordPress) à installer pour le développement de thèmes et de plugins. J'utilise aussi debug-bar-extender: http://wordpress.org/extend/plugins/debug-bar-extender/

2
TCBarrett

Pour que $wpdb->queries fonctionne, vous devez configurer dans wp-config.php:

define('SAVEQUERIES', true);

Ceci est fortement déconseillé pour la production (performances lourdes) et est donc désactivé par défaut.

9
Rarst

Je fais souvent cela quand j'ai besoin de vérifier la requête en cours:

add_action( 'wp_head', 'show_current_query' );

function show_current_query() {
    global $wp_query;

    if ( !isset( $_GET['q'] ) )
        return;
    echo '<textarea cols="50" rows="10">';
    print_r( $wp_query );
    echo '</textarea>';
}

Pour afficher la requête en cours, ajoutez simplement ?q à l'URL actuelle.

Cela montrera la requête en cours (stockée dans la variable globale $ wp_query), y compris la requête SQL et toutes les autres variables de la requête.

6
Anh Tran

Je préfère Barre de débogage .

 Screenshot of Debug Bar running on WordPress 3.2.1 

1
Annika Backstrom

Le $wp_query global contient tout ce qui concerne la requête en cours, y compris les arguments, les résultats, le contenu des résultats et la requête elle-même.

$wp_query->request devrait faire le travail pour vous ici.

0
David Gard

Vous pouvez également utiliser le plugin WPDB Profiling qui affichera toutes les instructions SQL exécutées pour générer la page sur laquelle vous êtes actuellement, au bas de la page.

0

Vous pouvez utiliser le plugin Wp Pear Debug . Il vous montrera une liste des requêtes exécutées dans la page, le nombre de secondes que ces requêtes ont pris pour s'exécuter et la fonction php qui a initié la requête. Veuillez noter que vous devez enregistrer les paramètres au moins une fois avant que celui-ci ne commence à fonctionner.

0
Garvin

Pas besoin d'installer de plugin, vous pouvez utiliser ceci:

$queried_object = get_queried_object();
var_dump( $queried_object );

Source:Codex

0
Miguel Garrido
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

C'est à dire.

<?php $wpdb->show_errors();
      $id=$wpdb->update('table_name',$array,$condition);
      $wpdb->print_error();
?>
0
Vijay Lathiya