我正在WordPress网站上工作,并且自定义帖子类型功能有问题。我创建了一个名为“ cust_team”的帖子类型,并且永久链接设置为帖子名称:
现在,当我查看“ 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'),
);
请告诉我我在做什么错。我想删除自定义帖子类型列表页面,就像默认帖子类型“帖子”和“页面”一样。
答案 0 :(得分:1)
答案 1 :(得分:1)
请设置'has_archive' => false
和'rewrite' => false
。
具有存档
(布尔值或字符串)(可选)启用帖子类型档案。将使用 $ post_type默认为存档文件。默认值:false
注意:如果启用了重写,将生成正确的重写规则。 还可以使用rewrite更改使用的段。如果是字符串,则应为 可翻译的。
重写
(布尔值或数组)(可选)
触发此帖子类型的重写处理。阻止 重写,设置为false。
默认值:true,并使用$ post_type作为子弹
注意:
如果在插件中注册帖子类型,请在激活和停用钩子中调用flush_rewrite_rules()(请参阅下面的“在激活时刷新刷新”)。如果不使用flush_rewrite_rules(),则必须手动转到“设置”>“永久链接”并刷新您的永久链接结构,然后您的自定义帖子类型才会显示正确的结构。
希望它能对您有所帮助。