问题描述
我已经阅读了关于 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。