
本文档旨在指导 WordPress 开发者如何使用 pre_get_posts 钩子修改查询,以便在特定页面上显示待审状态的帖子,而不是默认的已发布帖子。我们将深入探讨如何正确使用该钩子,并提供可行的代码示例,帮助你实现自定义的帖子状态显示需求。
pre_get_posts 是一个强大的 WordPress 钩子,允许你在 WordPress 执行主查询之前修改查询参数。这对于自定义帖子显示、排序和过滤等操作非常有用。
以下代码演示了如何使用 pre_get_posts 钩子来修改指定页面的帖子状态,使其显示待审帖子:
function custom_pre_get_posts( $query ) {
// 仅在前端且不是后台管理页面时执行
if ( ! is_admin() && $query->is_main_query() ) {
// 检查当前页面是否为目标页面,并验证用户权限
if( get_query_var('pagename') == 'name_of_the_page' && current_user_can('publish_posts') ) {
// 修改帖子状态为 'pending'
$query->set( 'post_status', 'pending' );
}
}
}
add_action( 'pre_get_posts', 'custom_pre_get_posts' );代码解释:
通过使用 pre_get_posts 钩子,我们可以灵活地修改 WordPress 的查询参数,实现自定义的帖子显示需求。在修改查询参数时,务必注意添加适当的条件判断,避免影响到其他页面或功能。希望本文档能够帮助你成功地在 WordPress 中显示待审帖子。
以上就是WordPress:使用 Hook 显示待审帖子而非已发布帖子的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号