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.
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/
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.
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.
Je préfère Barre de débogage .
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.
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.
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.
Pas besoin d'installer de plugin, vous pouvez utiliser ceci:
$queried_object = get_queried_object();
var_dump( $queried_object );
Source:Codex
<?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();
?>