私は新しいワードプレスに取り組んでいます。今、完全にwpで設計されたサイトが提供されていますが、問題は、見つかった各機能/ページのクエリを検索できないことです
$wpdb->get_results
データベースから結果を取得するためにも使用され、これは機能していません
$wpdb->queries
現在実行中の各クエリを出力する方法はありますか?
助けてください。
私は新しいワードプレスに取り組んでいます。今、完全にwpで設計されたサイトが提供されていますが、問題は、見つかった各機能/ページのクエリを検索できないことです
$wpdb->get_results
データベースから結果を取得するためにも使用され、これは機能していません
$wpdb->queries
現在実行中の各クエリを出力する方法はありますか?
助けてください。
回答:
デバッグバーは、テーマとプラグインの開発のためにインストールする(WordPressによって)推奨プラグインの1つです。私はdebug-bar-extenderも使用しています:http : //wordpress.org/extend/plugins/debug-bar-extender/
以下のために$wpdb->queries
仕事にあなたがして設定する必要がありますwp-config.php
:
define('SAVEQUERIES', true);
これはプロダクションにはお勧めできません(パフォーマンスに大きな影響がある)ため、デフォルトではオフになっています。
現在のクエリを確認する必要があるときに、私はよくこれを行います。
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>';
}
現在のクエリを表示する?q
には、現在のURLに追加するだけです。
これにより、SQLクエリと他のすべてのクエリ変数を含む現在のクエリ(グローバル変数$ wp_queryに格納されている)が表示されます。
私はデバッグバーを好みます。
また、ページの下部に、現在表示しているページを生成するために実行されたすべてのSQLステートメントを表示するWPDBプロファイリングプラグインを使用することもできます。
Wp Pear Debugプラグインを使用できます。ページで実行されたクエリのリスト、それらのクエリの実行にかかった秒数、クエリを開始したphp関数が表示されます。設定を有効にするには、少なくとも一度は設定を保存する必要があることに注意してください。