在Wordpress中向现有的WP_Query添加条件

Dmy*_*nko 4 php wordpress

我想添加一些过滤器以选择所需的帖子,例如:

function exclude_post($query) {
    if ($query->is_home) {

       // Do some PHP code

    }    
    return $query;
}

add_filter('pre_get_posts', 'exclude_post');
Run Code Online (Sandbox Code Playgroud)

如何为现有的WP_Query实例添加新条件$query

小智 5

如果要使用过滤器修改查询,则可以使用 $query->set('post_type', 'post');在函数中,只需在参数中加上即可。

如果要修改主循环,可以使用以下命令:

global $wp_query;
$args = array_merge( $wp_query->query_vars, array( 'post_type' => 'product' ) );
query_posts( $args );
Run Code Online (Sandbox Code Playgroud)


cod*_*abs 0

$args = array(
    'post_type' => 'post',
    'tax_query' => array(
        array(
            'taxonomy' => 'people',
            'field' => 'slug',
            'terms' => 'bob'
        )
    )
);
$query = new WP_Query( $args );
Run Code Online (Sandbox Code Playgroud)

来自 Codex 的片段在此处查看更多wp 查询