删除自定义帖子类型的单页

时间:2019-09-03 作者:Mike KC

我有一个自定义主题和一堆自定义帖子类型。我想保持我的“新闻”帖子类型以分页列表的形式显示(直接链接到外部新闻文章-这部分已经解决了),但我想去掉添加新闻帖子时创建的所有单个页面。基本上与此相反:How do I create new content pages for my Custom Post Type?. 我很抱歉,如果这太模糊,不是一个开发人员。请告诉我确定解决方案需要哪些其他信息。

提前谢谢。

1 个回复
最合适的回答,由SO网友:zfors 整理而成

由于您正在链接到外部新闻文章,因此希望阻止用户访问/news-article/article-title/ 为新帖子创建的url没有真实内容?

您可以这样做:How to disable the single view for a custom post type?

下面的代码就是这个答案。将其添加到您的函数中。php,确保更改news_article 到实际的柱式段塞。这将301重定向试图点击该帖子的用户。您可能希望首先使用302来测试这一点,因为许多浏览器都会缓存301,并且很难清除。

defaults 到302,因此删除, 301 如果要尝试使用302,请将其设置为默认值。

add_action( \'template_redirect\', \'news_article_redirect\' );

function news_article_redirect() {
  $queried_post_type = get_query_var(\'news_article\');
  if ( is_single() && \'news_article\' ==  $queried_post_type ) {
    wp_redirect( home_url(), 301 );
    exit;
  }
}