pre_get_posts Action —— 在创建查询变量之后、运行实际查询之前触发的操作

pre_get_posts Action主要用来修改主查询,经常在需要修改主文章查询时使用,可以让我们不用创建…

pre_get_posts Action主要用来修改主查询,经常在需要修改主文章查询时使用,可以让我们不用创建自定义查询来得到我们需要的文章内容。

参数

该Action只有一个参数,就是通过引用传递的$wp_query 对象。

使用示例

下面是几个使用示例,可以帮我我们快速了解 pre_get_posts Action 的使用方法。

在首页文章中排除ID位7、11 的文章。

add_action( 'pre_get_posts', function ($query) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post__not_in', array( 7, 11 ) );
    }
} );

在搜索结果中排除页面、只搜索文章内容。


add_action( 'pre_get_posts', function ($query) {
    if ( ! is_admin() && $query->is_main_query() ) {
        if ( $query->is_search ) {
            $query->set( 'post_type', 'post' );
        }
    }
} );
类别:WordPress函数讲解

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册