问题描述
我以前遇到过一个函数,显示了一个循环中使用的确切的 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。