我们如何禁用一个定制的帖子类型存档页面,而启用它的提要?

时间:2016-01-30 作者:saeed shabani

要禁用自定义帖子类型存档页面,我们应使用以下代码:

$args = array(
    \'has_archive\' => false,
);
但是当我们使用false 对于has_archive, feeds页面(如:name.com/books/feed) 也将禁用该自定义帖子类型的。现在我想知道如何禁用自定义帖子类型存档页面,但保持提要处于活动状态?

2 个回复
最合适的回答,由SO网友:saeed shabani 整理而成

最后我找到了解决办法。我设置has_archivetrue. 现在,CPT的提要和归档页面都处于活动状态。为了只禁用CPT的归档页面,我在functions.php 文件:

function AryanThemes_disable_cpt_archive_template(){
    if ( is_post_type_archive(\'cpt\') ) {
        global $wp_query;
      $wp_query->set_404();
      status_header( 404 );
      get_template_part( 404 ); exit();
  }
}
add_filter( \'archive_template\', \'AryanThemes_disable_cpt_archive_template\', -1 );

SO网友:Milo

设置feeds 的参数rewritetrue 生成提要重写规则。它默认为has_archive 如果未显式传递任何内容,则设置为。

$args = array(
    \'has_archive\' => false,
    \'rewrite\' => array(
        \'feeds\' => true
    ),
    // your other args...
);

相关推荐

Remove lines from RSS Feed

我正在尝试使用\\u content\\u提要挂钩删除RSS提要中的“帖子xxx首先出现在xxx上”行。我在feed上测试了wordpress外部的regex函数,它可以正常工作。我正在使用我的自定义函数插件将其插入函数中。php。它似乎不起作用,我不知所措。有什么想法吗?add_action(\'the_content_feed\', \'remove_rss_links\'); function remove_rss_links($content) { return p