如何阻止WordPress中的自定义帖子类型列表页面?

时间:2019-11-22 04:55:49

标签: wordpress wordpress-theming custom-post-type

我正在WordPress网站上工作,并且自定义帖子类型功能有问题。我创建了一个名为“ cust_team”的帖子类型,并且永久链接设置为帖子名称:

  

帖子名:http://example.com/mytheme/sample-post/

现在,当我查看“ http://example.com/mytheme/cust_team”页面时,它向我显示了所有“ cust_team”帖子的列表。但是,当我查看http://example.com/mytheme/post或页面时,它会重定向到404页面。我只想阻止自定义帖子类型列表页面,因为它在SEO中创建重复内容问题。

这是我的岗位信息类型数组:

$cpt_args['cust_team'] = array(
    'labels' => array(
        'name'              => esc_html__('Team Member','mytheme'),
        'singular_name'     => esc_html__('Team Member','mytheme'),
        'add_new'           => esc_html__('Add Team Member','mytheme'),
        'add_new_item'      => esc_html__('Add Team Member','mytheme'),
        'edit_item'         => esc_html__('Edit Team Member','mytheme'),
        'new_item'          => esc_html__('New Team Member','mytheme'),
        'all_items'       => esc_html__( 'All Team Members','mytheme'),
        'not_found'         => esc_html__('No Team Member found','mytheme'),
        'not_found_in_trash'    => esc_html__('No Team Member found in Trash','mytheme'),
        'menu_name'                 => esc_html__('Team Members','mytheme'),
    ),
    'description'       => 'Manage Team Content.',
    'public'                => true,
    'publicly_queryable' => true,
    'show_in_nav_menus'     => true,
    'supports'              => array(
    'title',
    'thumbnail',
    'editor',
    'page-attributes',
    'custom-fields'
    ),
    'show_ui'               => true,
    'show_in_menu'      => true,
    'menu_position'         => 5,
    'has_archive'           => true,
    'menu_icon'             => 'dashicons-admin-post',
    'query_var'             => true,
    'rewrite'               => '',
    'capability_type'   => 'post',
    'map_meta_cap'          => true,
    'rewrite'               => array('slug'  => 'cust_team'),
);

请告诉我我在做什么错。我想删除自定义帖子类型列表页面,就像默认帖子类型“帖子”和“页面”一样。

2 个答案:

答案 0 :(得分:1)

将以下内容设置为false:

'has_archive' => false

您可以在WordPress documentation

中了解有关帖子类型的更多信息

答案 1 :(得分:1)

请设置'has_archive' => false'rewrite' => false

具有存档

  

(布尔值或字符串)(可选)启用帖子类型档案。将使用   $ post_type默认为存档文件。默认值:false

     

注意:如果启用了重写,将生成正确的重写规则。   还可以使用rewrite更改使用的段。如果是字符串,则应为   可翻译的。

重写

  

(布尔值或数组)(可选)

     

触发此帖子类型的重写处理。阻止   重写,设置为false。

     

默认值:true,并使用$ post_type作为子弹

注意:

如果在插件中注册帖子类型,请在激活和停用钩子中调用flush_rewrite_rules()(请参阅下面的“在激活时刷新刷新”)。如果不使用flush_rewrite_rules(),则必须手动转到“设置”>“永久链接”并刷新您的永久链接结构,然后您的自定义帖子类型才会显示正确的结构。

希望它能对您有所帮助。