问题描述

我以前遇到过一个函数,显示了一个循环中使用的确切的 SQL 代码,但不记得了。

有人可以告诉我这个功能吗?

干杯

最佳解决方案

嗨 @Keith Donegan:

如果我正确理解你的问题,我认为这是你正在寻找的?

<?php echo $GLOBALS['wp_query']->request; ?>

 $wp_query 是一个全局变量,包含循环运行的当前查询。如果您在循环仍然处于活动状态或循环后立即运行上述代码,那么应该从循环中提供 SQL 。只要确保您检查它,然后再让其他运行使用 query_posts()运行。

次佳解决方案

如果您运行基于 WP_Query 的查询,那就是:

$customPosts = new WP_Query($yourArgs);
echo "Last SQL-Query: {$customPosts->request}";

第三种解决方案

看到这个答案:Best Collection of Code for your functions.php file

然后将?debug = sql 添加到任何 WP URL,它将输出运行的查询的完整列表。 (是的,这很可怕…)

第四种方案

如果你只对循环感兴趣,这是我通常使用的:

add_filter( 'posts_request', 'dump_request' );

function dump_request( $input ) {

    var_dump($input);

    return $input;
}

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。