繁体   English   中英

隐藏档案页面上的自定义帖子类型

[英]hide custom post type on archives page

我有一个wordpress存档页面,该页面显示了我实际上想要隐藏的自定义帖子类型。

我使用了插件CPT UI创建帖子类型“事件”

在我的博客上,我有一个标记为“特色”的类别(website.com/category/featured/),在此“特色类别”页面上,有一些我不想显示的事件CPT。

我已经在我的functions.php文件中尝试了以下无效的代码:

add_action( 'pre_get_posts', 'exclude_cpt' );
function exclude_cpt( $query ) {
    if ( $query->is_category('featured') ) {
        $query->set( 'post_type', array('event') );
    }
    return $query;
}

思考?

通过$query->set( 'post_type', array('event') ); 您并不排除活动。 你包括在内。

要排除事件,您必须传递所有您想显示的帖子类型,“ event”除外

像这样。

如果您没有任何自定义帖子类型。

$query->set('post_type', array( 'post', 'page' ) );

要么

$query->set('post_type', array( 'post', 'page', 'post_type_1', 'post_type_2' ) );

所以你的代码应该看起来像这样

add_action( 'pre_get_posts', 'exclude_cpt' );
function exclude_cpt( $query ) {
    if ( $query->is_category('featured') ) {
        $query->set( 'post_type', array( 'post' ) ); // this will display only posts and pages
    }
    return $query;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM