問題描述

我以前遇到過一個函式,顯示了一個迴圈中使用的確切的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。