仅在最近发布的帖子小部件中显示特定的帖子类型

时间:2014-12-06 作者:Billy

我有一个自定义的帖子类型,它是用我的主题中下面的代码在档案中显示的functions.php :

add_filter(\'pre_get_posts\', \'query_post_type\');
function query_post_type($query) {
    if ( is_archive() && empty( $query->query_vars[\'suppress_filters\'] ) ) {
        $post_type = get_query_var(\'post_type\');
        $post_types = get_post_types();
        if($post_type)
            $post_type = $post_type;
        else
            $post_type = $post_types;
        $query->set(\'post_type\',$post_type);
        return $query;
    }
}
问题是pre_get_posts 基本上更改了“最近帖子查询”小部件,使其在本例中显示所有帖子类型。然而,由于我使用WooCommerce,因此也会显示我希望避免的商店产品。

那么,我有没有办法让最近的帖子显示only 标准WordPress帖子和自定义帖子类型,同时保持自定义帖子类型在存档中可见?

1 个回复
SO网友:Brad Dalton

使用widget_posts_args 滤器

add_filter(\'widget_posts_args\', \'wpsites_modify_recent_posts_widget\');
function wpsites_modify_recent_posts_widget($params) {
$params[\'post_type\'] = array(\'post\', \'$post_type\');
return $params;
} 

Source

结束

相关推荐