我正在使用自定义WP主题,并尝试创建带有自定义分类法的自定义帖子类型。我试图复制和修改另一个已在该代码上使用的代码(显然是在修改某些部分),但是不起作用。
我的问题是我在做错什么,如何使它正常工作。
工作代码在其管理面板上显示具有其分类法的自定义帖子类型。另外,我可以使用“高级自定义字段”进行更改。我的自定义帖子类型不能。
工作自定义帖子类型的打印
https://i.ibb.co/YhWsWV5/Screen-Shot-2019-06-17-at-14-25-53.png
自定义帖子类型的打印
https://i.ibb.co/LxM557G/Screen-Shot-2019-06-17-at-14-52-01.png
我的代码
function cpt_cursos_rop() {
$labels = array(
'name' => 'Cursos ROP',
'singular_name' => 'Curso ROP',
'menu_name' => 'Cursos ROP',
'name_admin_bar' => 'Cursos ROP',
'archives' => 'Arquivo de Cursos',
'attributes' => 'Atributos do Curso',
'parent_item_colon' => 'Curso Pai:',
'all_items' => 'Todos os Cursos',
'add_new_item' => 'Adicionar Novo Curso',
'add_new' => 'Adicionar Novo',
'new_item' => 'Novo Curso',
'edit_item' => 'Editar Curso',
'update_item' => 'Atualizar Curso',
'view_item' => 'Ver Curso',
'view_items' => 'Ver Cursos',
'search_items' => 'Procurar Curso',
'not_found' => 'Nada Encontrado',
'not_found_in_trash' => 'Nada Encontrado na Lixeira',
'featured_image' => 'Imagem Destacada',
'set_featured_image' => 'Definir imagem destacada',
'remove_featured_image' => 'Remover imagem destacada',
'use_featured_image' => 'Utilizar como imagem destacada',
'insert_into_item' => 'Inserir no Curso',
'uploaded_to_this_item' => 'Enviado para este Curso',
'items_list' => 'Lista de Cursos',
'items_list_navigation' => 'Navegação da lista de Cursos',
'filter_items_list' => 'Filtrar lista de Cursos',
);
$rewrite = array(
'slug' => 'curso-rop',
'with_front' => true,
'pages' => true,
'feeds' => true,
);
$args = array(
'description' => 'Registros de Cursos',
'labels' => $labels,
'supports' => array( 'title' ),
'taxonomies' => array( 'categoria_especialidades_rop', 'categoria_tipos_rop' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-exerpt-view',
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'rewrite' => $rewrite,
'show_in_rest' => false,
);
register_post_type( 'CursosROP', $args );
//TAXONOMIA - ESPECIALIDADES
$labels_especialidades = array(
'name' => 'Especialidades',
'singular_name' => 'Especialidade',
'menu_name' => 'Especialidades',
'all_items' => 'Todas as Especialidades',
'parent_item' => 'Especialidade Mãe',
'parent_item_colon' => 'Especialidade Mãe:',
'new_item_name' => 'Novo nome de Especialidade',
'add_new_item' => 'Adicionar Nova Especialidade',
'edit_item' => 'Editar Especialidade',
'update_item' => 'Atualizar Especialidade',
'separate_items_with_commas' => 'Separe as especialidades com virgulas',
'search_items' => 'Buscar Especialidades',
'add_or_remove_items' => 'Adicionar ou remover Especialidades',
'choose_from_most_used' => 'Escolher dentre as Especialidades mais utilizadas',
'not_found' => 'Nada Localizado',
);
$rewrite_especialidades = array(
'slug' => 'especialidades',
'with_front' => true,
'hierarchical' => false,
);
$args_especialidades = array(
'labels' => $labels_especialidades,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
'rewrite' => $rewrite_especialidades,
);
register_taxonomy( 'categoria_rop', 'curso-rop', $args_especialidades );
//TAXONOMIA - TIPO
$labels_tipos = array(
'name' => 'Tipos',
'singular_name' => 'Tipo',
'menu_name' => 'Tipos',
'all_items' => 'Todas os Tipos',
'parent_item' => 'Tipo Mãe',
'parent_item_colon' => 'Tipo Mãe:',
'new_item_name' => 'Novo nome de Tipo',
'add_new_item' => 'Adicionar Novo Tipo',
'edit_item' => 'Editar Tipo',
'update_item' => 'Atualizar Tipo',
'separate_items_with_commas' => 'Separe os tipos com virgulas',
'search_items' => 'Buscar Tipos',
'add_or_remove_items' => 'Adicionar ou remover Tipo',
'choose_from_most_used' => 'Escolher dentreos Tipos mais utilizados',
'not_found' => 'Nada Localizado',
);
$rewrite_tipos = array(
'slug' => 'tipos',
'with_front' => true,
'hierarchical' => false,
);
$args_tipos = array(
'labels' => $labels_tipos,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
'rewrite' => $rewrite_tipos,
);
register_taxonomy( 'categoria_tipos_rop', 'cursosROP', $args_tipos );
}
add_action( 'init', 'cpt_cursos_rop', 0 );
工作代码(供参考)
function cpt_cursos() {
$labels = array(
'name' => 'Cursos',
'singular_name' => 'Curso',
'menu_name' => 'Cursos',
'name_admin_bar' => 'Cursos',
'archives' => 'Arquivo de Cursos',
'attributes' => 'Atributos do Curso',
'parent_item_colon' => 'Curso Pai:',
'all_items' => 'Todos os Cursos',
'add_new_item' => 'Adicionar Novo Curso',
'add_new' => 'Adicionar Novo',
'new_item' => 'Novo Curso',
'edit_item' => 'Editar Curso',
'update_item' => 'Atualizar Curso',
'view_item' => 'Ver Curso',
'view_items' => 'Ver Cursos',
'search_items' => 'Procurar Curso',
'not_found' => 'Nada Encontrado',
'not_found_in_trash' => 'Nada Encontrado na Lixeira',
'featured_image' => 'Imagem Destacada',
'set_featured_image' => 'Definir imagem destacada',
'remove_featured_image' => 'Remover imagem destacada',
'use_featured_image' => 'Utilizar como imagem destacada',
'insert_into_item' => 'Inserir no Curso',
'uploaded_to_this_item' => 'Enviado para este Curso',
'items_list' => 'Lista de Cursos',
'items_list_navigation' => 'Navegação da lista de Cursos',
'filter_items_list' => 'Filtrar lista de Cursos',
);
$rewrite = array(
'slug' => 'curso',
'with_front' => true,
'pages' => true,
'feeds' => true,
);
$args = array(
'description' => 'Registros de Cursos',
'labels' => $labels,
'supports' => array( 'title' ),
'taxonomies' => array( 'categoria_especialidades', 'categoria_tipos' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-exerpt-view',
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'rewrite' => $rewrite,
'show_in_rest' => false,
);
register_post_type( 'Cursos', $args );
//TAXONOMIA - ESPECIALIDADES
$labels_especialidades = array(
'name' => 'Especialidades',
'singular_name' => 'Especialidade',
'menu_name' => 'Especialidades',
'all_items' => 'Todas as Especialidades',
'parent_item' => 'Especialidade Mãe',
'parent_item_colon' => 'Especialidade Mãe:',
'new_item_name' => 'Novo nome de Especialidade',
'add_new_item' => 'Adicionar Nova Especialidade',
'edit_item' => 'Editar Especialidade',
'update_item' => 'Atualizar Especialidade',
'separate_items_with_commas' => 'Separe as especialidades com virgulas',
'search_items' => 'Buscar Especialidades',
'add_or_remove_items' => 'Adicionar ou remover Especialidades',
'choose_from_most_used' => 'Escolher dentre as Especialidades mais utilizadas',
'not_found' => 'Nada Localizado',
);
$rewrite_especialidades = array(
'slug' => 'especialidades',
'with_front' => true,
'hierarchical' => false,
);
$args_especialidades = array(
'labels' => $labels_especialidades,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
'rewrite' => $rewrite_especialidades,
);
register_taxonomy( 'categoria_especialidades', 'cursos', $args_especialidades );
//TAXONOMIA - TIPO
$labels_tipos = array(
'name' => 'Tipos',
'singular_name' => 'Tipo',
'menu_name' => 'Tipos',
'all_items' => 'Todas os Tipos',
'parent_item' => 'Tipo Mãe',
'parent_item_colon' => 'Tipo Mãe:',
'new_item_name' => 'Novo nome de Tipo',
'add_new_item' => 'Adicionar Novo Tipo',
'edit_item' => 'Editar Tipo',
'update_item' => 'Atualizar Tipo',
'separate_items_with_commas' => 'Separe os tipos com virgulas',
'search_items' => 'Buscar Tipos',
'add_or_remove_items' => 'Adicionar ou remover Tipo',
'choose_from_most_used' => 'Escolher dentreos Tipos mais utilizados',
'not_found' => 'Nada Localizado',
);
$rewrite_tipos = array(
'slug' => 'tipos',
'with_front' => true,
'hierarchical' => false,
);
$args_tipos = array(
'labels' => $labels_tipos,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
'rewrite' => $rewrite_tipos,
);
register_taxonomy( 'categoria_tipos', 'cursos', $args_tipos );
}
add_action( 'init', 'cpt_cursos', 0 );
答案 0 :(得分:0)
您的问题是您没有调用正确的'especialidades',即'categoria_rop',并且两个分类法都被注册为错误的帖子类型名称,因此需要将其命名为'curso-rop'而不是'curso-rop'和' cursosROP',如您所愿。
请参见下文:
function cpt_cursos_rop() {
$labels = array(
'name' => 'Cursos ROP',
'singular_name' => 'Curso ROP',
'menu_name' => 'Cursos ROP',
'name_admin_bar' => 'Cursos ROP',
'archives' => 'Arquivo de Cursos',
'attributes' => 'Atributos do Curso',
'parent_item_colon' => 'Curso Pai:',
'all_items' => 'Todos os Cursos',
'add_new_item' => 'Adicionar Novo Curso',
'add_new' => 'Adicionar Novo',
'new_item' => 'Novo Curso',
'edit_item' => 'Editar Curso',
'update_item' => 'Atualizar Curso',
'view_item' => 'Ver Curso',
'view_items' => 'Ver Cursos',
'search_items' => 'Procurar Curso',
'not_found' => 'Nada Encontrado',
'not_found_in_trash' => 'Nada Encontrado na Lixeira',
'featured_image' => 'Imagem Destacada',
'set_featured_image' => 'Definir imagem destacada',
'remove_featured_image' => 'Remover imagem destacada',
'use_featured_image' => 'Utilizar como imagem destacada',
'insert_into_item' => 'Inserir no Curso',
'uploaded_to_this_item' => 'Enviado para este Curso',
'items_list' => 'Lista de Cursos',
'items_list_navigation' => 'Navegação da lista de Cursos',
'filter_items_list' => 'Filtrar lista de Cursos',
);
$rewrite = array(
'slug' => 'curso-rop',
'with_front' => true,
'pages' => true,
'feeds' => true,
);
$args = array(
'description' => 'Registros de Cursos',
'labels' => $labels,
'supports' => array( 'title' ),
'taxonomies' => array( 'categoria_rop', 'categoria_tipos_rop' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-exerpt-view',
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'rewrite' => $rewrite,
'show_in_rest' => false,
);
register_post_type( 'CursosROP', $args );
//TAXONOMIA - ESPECIALIDADES
$labels_especialidades = array(
'name' => 'Especialidades',
'singular_name' => 'Especialidade',
'menu_name' => 'Especialidades',
'all_items' => 'Todas as Especialidades',
'parent_item' => 'Especialidade Mãe',
'parent_item_colon' => 'Especialidade Mãe:',
'new_item_name' => 'Novo nome de Especialidade',
'add_new_item' => 'Adicionar Nova Especialidade',
'edit_item' => 'Editar Especialidade',
'update_item' => 'Atualizar Especialidade',
'separate_items_with_commas' => 'Separe as especialidades com virgulas',
'search_items' => 'Buscar Especialidades',
'add_or_remove_items' => 'Adicionar ou remover Especialidades',
'choose_from_most_used' => 'Escolher dentre as Especialidades mais utilizadas',
'not_found' => 'Nada Localizado',
);
$rewrite_especialidades = array(
'slug' => 'especialidades',
'with_front' => true,
'hierarchical' => false,
);
$args_especialidades = array(
'labels' => $labels_especialidades,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
'rewrite' => $rewrite_especialidades,
);
register_taxonomy( 'categoria_rop', 'cursosrop', $args_especialidades );
//TAXONOMIA - TIPO
$labels_tipos = array(
'name' => 'Tipos',
'singular_name' => 'Tipo',
'menu_name' => 'Tipos',
'all_items' => 'Todas os Tipos',
'parent_item' => 'Tipo Mãe',
'parent_item_colon' => 'Tipo Mãe:',
'new_item_name' => 'Novo nome de Tipo',
'add_new_item' => 'Adicionar Novo Tipo',
'edit_item' => 'Editar Tipo',
'update_item' => 'Atualizar Tipo',
'separate_items_with_commas' => 'Separe os tipos com virgulas',
'search_items' => 'Buscar Tipos',
'add_or_remove_items' => 'Adicionar ou remover Tipo',
'choose_from_most_used' => 'Escolher dentreos Tipos mais utilizados',
'not_found' => 'Nada Localizado',
);
$rewrite_tipos = array(
'slug' => 'tipos',
'with_front' => true,
'hierarchical' => false,
);
$args_tipos = array(
'labels' => $labels_tipos,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => false,
'rewrite' => $rewrite_tipos,
);
register_taxonomy( 'categoria_tipos_rop', 'cursosrop', $args_tipos );
}
add_action( 'init', 'cpt_cursos_rop', 0 );