关于如何在 WordPress 中查询文章,我们已学习了很多:《WordPress自定义查询WP_Query参数使用方法大全》、《WordPress函数:get_posts 查询一组文章的好方法》、《WordPress钩子 pre_get_posts 如何限制主循环查询的分类》等。
今天,要学习一个关于查询文章的新函数:query_posts 。这个函数的特别之处在于,这个函数会改变WordPress主循环。WordPress 文档介绍:
此函数将完全覆盖主查询,不用于插件或主题。它过于简单的修改主查询的方法可能会有问题,应尽可能避免。在大多数情况下,有更好、更高性能的选项来修改主查询,例如通过 WP_query 中的“pre_get_posts”操作。
这不能在 WordPress 循环中使用。
query_posts() 是一种更改 WordPress 用于显示帖子的主查询的方法。它通过将主查询放在一边,并用新查询替换它来实现这一点。要在调用 query_posts 后进行清理,请调用 wp_reset_query(),原始主查询将被恢复。
需要注意的是,使用它来替换页面上的主查询会增加页面加载时间,在最坏的情况下,这会使所需的工作量增加一倍或更多。虽然该功能易于使用,但在以后也容易出现混淆和问题。有关详细信息,请参阅下面的注意事项。
对于常规后期查询,请使用 WP_Query 或 get_posts() 。
强烈建议您改用“pre_get_posts”操作,并通过检查 is_main_query() 来更改主查询。
下面两段代码的效果是一样的,虽然,使用 query_posts 看上去比较简单,但是由于其副作用,可能会导致莫名其妙的bug。
query_posts( 'posts_per_page=5' );
function wpdocs_five_posts_on_homepage( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'posts_per_page', 5 );
}
}
add_action( 'pre_get_posts', 'wpdocs_five_posts_on_homepage' );
-
Loco Translate 一款专为WordPress设计的翻译插件WordPress Loco Translate是一款专为WordPress用户设计的翻译插件,它简化了主题和插件的多语言翻译过程。
-
WordPress后台待审文章显示气泡提示的方法之前小编分享过一篇《WordPress 后台菜单添加 badge-红点提示(气泡通知)》的文章,今天我简单说说待审文章(为全部文章类型显示待审角标提示)的气泡提示如何操作。
-
FluentSMTP一款功能强大且免费的WordPress SMTP插件FluentSMTP是一款功能强大且免费的SMTP插件,它支持为WordPress配置多个SMTP发送服务器。
-
追格小程序V2.5.8更新发布追格小程序是一款采用积木式理念的微信小程序构建框架,它巧妙融合了Uniapp与WordPress技术,打造出一个开源且无加密限制的开发环境。
-
WordPress必备:使用wp_get_theme()函数获取当前主题详情在WordPress中,wp_get_theme() 函数用于获取当前启用的主题或指定主题的信息。这个函数返回一个 WP_Theme 对象,该对象包含了主题的详细信息,如主题名称、版本、模板目录、样式表目录等。
-
Redis Object Cache WordPress对象缓存插件Redis Object Cache是一款功能强大、易于使用的WordPress对象缓存插件。通过合理配置和优化,可以显著提高网站的访问速度和用户体验。
暂无评论,抢个沙发...