問題描述
我已經閲讀了關於 SE 的一些 of 問題,但是我仍然無法確定 wrt 的確切用法。可以這麼説,我可能會使用 WP_Query 作為大部分次級循環,並且只有在需要在數組中返回的結果時才使用 get_posts,或者換句話説,兩個數組 vs 對象返回的主要區別或者還有其他一些主要因素我應該注意嗎?
最佳解決方案
get_posts& WP_Query
您可以將 get_posts()視為細長的 WP_Query 。其實看看 source:
//... prepares query array $r
$get_posts = new WP_Query;
return $get_posts->query($r);
get_posts()使用 WP_Query,但只返回一系列的帖子 – 沒有更多。此外,它設置:
$r['no_found_rows'] = true;
通常 (默認情況下,使用 WP_Query 對象) – WordPress 查詢總共有多少個帖子 – 即使您僅在前 10 個之後。它可以執行分頁。所以 get_posts()實際上 (稍微) 更快 (也忽略了粘貼的帖子) 。
哪個使用…
如果你只需要一個數組的帖子,並且不需要查詢對象 – 使用 get_posts()。否則,如果您確實需要訪問查詢對象方法,或者分頁或粘貼帖子在頂部,則應使用 WP_Query 。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。