自定义分类法未显示在自定义帖子列表中(我正试图从字面上复制工作代码)

时间:2019-06-17 17:55:12

标签: php wordpress

我正在使用自定义WP主题,并尝试创建带有自定义分类法的自定义帖子类型。我试图复制和修改另一个已在该代码上使用的代码(显然是在修改某些部分),但是不起作用。

我的问题是我在做错什么,如何使它正常工作。

工作代码在其管理面板上显示具有其分类法的自定义帖子类型。另外,我可以使用“高级自定义字段”进行更改。我的自定义帖子类型不能。

我的代码

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 );

1 个答案:

答案 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 );