wordpress - 第二个自定义帖子类型没有显示在前端
问题描述
WP 的 post-type 代码正在工作并显示在前端。但是当复制它并将“合作”替换为“电影”时,它在管理端工作,但在前端返回 404。
我删除了“电影”代码并尝试了一些在网上找到的示例,但同样的问题仍然存在。它适用于 1 种帖子类型,但不超过 1 种。有什么原因吗?
“协作”代码转到“www.website.com/collaborations”,这是正确的,但第二个代码转到“www.website.com/movies/movies/”。我在下面添加了“电影”代码。
协作代码
function create_collaborations()
{
register_post_type('collaborations',
array('labels' => array('name' => __('collaborations'),'singular_name' => __('Collaborations')),'public' => true,'has_archive' => false,'rewrite' => array('slug' => 'collaborations'))
);
}
add_action('init','create_collaborations');
function cw_post_type_collaborations()
{
$supports = array('title', 'editor', 'thumbnail', 'revisions');
$labels = array(
'name' => _x('Collaborations', 'plural'),
'singular_name' => _x('Collaborations', 'singular'),
'menu_name' => _x('Collaborations', 'admin menu'),
'name_admin_bar'=> _x('Collaborations', 'admin bar'),
'add_new' => _x('Add New', 'add new'),
'add_new_item' => __('Add New Collaborations'),
'new_item' => __('New Collaborations'),
'edit_item' => __('Edit Collaborations'),
'view_item' => __('View Collaborations'),
'all_items' => __('View Collaborations'),
'search_items' => __('Search Collaborations'),
'not_found' => __('No Collaborations found.')
);
$args = array(
'supports' => $supports,
'labels' => $labels,
'public' => true,
'query_var' => true,
'rewrite' => array('slug' => 'collaborations'),
'has_archive' => true,
'hierarchical' => false
);
register_post_type('collaborations', $args);
}
add_action('init', 'cw_post_type_collaborations');
电影代码
function create_movies()
{
register_post_type('movies',
array('labels' => array('name' => __('movies'),'singular_name' => __('Movies')),'public' => true,'has_archive' => false,'rewrite' => array('slug' => 'movies'))
);
}
add_action('init','create_movies');
function cw_post_type_movies()
{
$supports = array('title', 'editor', 'thumbnail', 'revisions');
$labels = array(
'name' => _x('Movies', 'plural'),
'singular_name' => _x('Movies', 'singular'),
'menu_name' => _x('Movies', 'admin menu'),
'name_admin_bar'=> _x('Movies', 'admin bar'),
'add_new' => _x('Add New', 'add new'),
'add_new_item' => __('Add New Movies'),
'new_item' => __('New Movies'),
'edit_item' => __('Edit Movies'),
'view_item' => __('View Movies'),
'all_items' => __('View Movies'),
'search_items' => __('Search Movies'),
'not_found' => __('No Movies found.')
);
$args = array(
'supports' => $supports,
'labels' => $labels,
'public' => true,
'query_var' => true,
'rewrite' => array('slug' => 'movies'),
'has_archive' => true,
'hierarchical' => false
);
register_post_type('movies', $args);
}
add_action('init', 'cw_post_type_movies');
解决方案
为什么要两次制作相同的帖子类型?
也许我错了,但我认为您只需要第二个功能。
1.) function cw_post_type_movies()
2.) function cw_post_type_collaborations()
对于电影,只需使用:
function cw_post_type_movies(){
$supports = array('title', 'editor', 'thumbnail', 'revisions');
$labels = array(
'name' => _x('Movies', 'plural'),
'singular_name' => _x('Movies', 'singular'),
'menu_name' => _x('Movies', 'admin menu'),
'name_admin_bar'=> _x('Movies', 'admin bar'),
'add_new' => _x('Add New', 'add new'),
'add_new_item' => __('Add New Movies'),
'new_item' => __('New Movies'),
'edit_item' => __('Edit Movies'),
'view_item' => __('View Movies'),
'all_items' => __('View Movies'),
'search_items' => __('Search Movies'),
'not_found' => __('No Movies found.')
);
$args = array(
'supports' => $supports,
'labels' => $labels,
'public' => true,
'query_var' => true,
'rewrite' => array('slug' => 'movies'),
'has_archive' => true,
'hierarchical' => false
);
register_post_type('movies', $args);
}
add_action('init', 'cw_post_type_movies');
对于协作使用:
function cw_post_type_collaborations(){
$supports = array('title', 'editor', 'thumbnail', 'revisions');
$labels = array(
'name' => _x('Collaborations', 'plural'),
'singular_name' => _x('Collaborations', 'singular'),
'menu_name' => _x('Collaborations', 'admin menu'),
'name_admin_bar'=> _x('Collaborations', 'admin bar'),
'add_new' => _x('Add New', 'add new'),
'add_new_item' => __('Add New Collaborations'),
'new_item' => __('New Collaborations'),
'edit_item' => __('Edit Collaborations'),
'view_item' => __('View Collaborations'),
'all_items' => __('View Collaborations'),
'search_items' => __('Search Collaborations'),
'not_found' => __('No Collaborations found.')
);
$args = array(
'supports' => $supports,
'labels' => $labels,
'public' => true,
'query_var' => true,
'rewrite' => array('slug' => 'collaborations'),
'has_archive' => true,
'hierarchical' => false
);
register_post_type('collaborations', $args);
}
add_action('init', 'cw_post_type_collaborations');
创建两个自定义帖子类型后,请转到:
你的域/wp-admin
设置 > 固定链接 > 保存更改
=> 固定链接被刷新
推荐阅读
- c# - 如何显示字符串的第二个值的格式字符串?
- stock - 以编程方式检查今天是否是市场开放交易日
- ruby-on-rails - 我们可以在rails应用程序中加密一个压缩的java脚本文件吗?
- javascript - HTML 中的 JSON 解析
- python - 如何在 python-django 中使用 woocommerce api 获取所有没有隐藏(私有)产品的产品?
- crystal-lang - 集合下拉默认空白值
- django - 将 JSON 记录导入 Django 上的数据库并在 JSON 文件上执行 CRUD
- swift - 在 Swift 中从 Firebase 身份验证中删除用户
- reactjs - 使用redux-form按下下一个键盘按钮后如何使用useRef钩子选择下一个TextInput
- mysql - 无法从 Spring Boot Docker 容器连接到本地 MySQL 数据库服务器