在WordPress中查看当前正在执行的查询的方法是什么?

时间:2011-11-09 作者:Sparkx

我正在使用wordpress,这对我来说是新的,现在我已经获得了完全用WPS设计的网站,但问题是我无法搜索我找到的每个功能/页面的查询

$wpdb->get_results
用于从数据库中获取结果。这也不起作用

$wpdb->queries
是否有任何方法可以打印当前执行的每个查询?。

请帮忙。

9 个回复
最合适的回答,由SO网友:TCBarrett 整理而成

调试栏是WordPress推荐的用于主题和插件开发的插件之一。我还使用调试栏扩展器:http://wordpress.org/extend/plugins/debug-bar-extender/

SO网友:Rarst

对于$wpdb->queries 要工作,您需要在中配置wp-config.php:

define(\'SAVEQUERIES\', true);
强烈建议不要将其用于生产(严重影响性能),因此默认情况下会将其关闭。

SO网友:Anh Tran

我经常在需要检查当前查询时这样做:

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。

这将显示当前查询(存储在全局变量$wp\\u query中),包括SQL查询和所有其他查询变量。

SO网友:Annika Backstrom

I prefer Debug Bar.

Screenshot of Debug Bar running on WordPress 3.2.1

SO网友:Miguel Garrido

无需安装任何插件,您可以使用:

$queried_object = get_queried_object();
var_dump( $queried_object );
资料来源:Codex

SO网友:David Gard

全球$wp_query 包含有关当前查询的所有内容,包括参数、结果、结果内容和查询本身。

$wp_query->request 应该在这里为你做这项工作。

SO网友:Kevin Langley Jr.

您也可以使用WPDB Profiling plugin 这将在页面底部显示为生成当前所在页面而运行的所有SQL语句。

SO网友:Garvin

您可以使用Wp Pear Debug 插件。它将显示页面中执行的查询列表、执行这些查询所需的秒数以及启动查询的php函数。请注意,在开始工作之前,必须至少保存一次设置。

SO网友:Vijay Lathiya
<?php $wpdb->show_errors(); ?>  // use syntax just before your query 
<?php $wpdb->print_error(); ?>  // user after your query execution

Ie.

<?php $wpdb->show_errors();
      $id=$wpdb->update(\'table_name\',$array,$condition);
      $wpdb->print_error();
?>
结束