我无法调用自定义帖子类型的类别

时间:2018-01-25 23:08:11

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

我正在WordPress中开发一个主题,我添加了一个自定义帖子类型,但我对类别和标签有问题。我无法将它们称为文件。 这是我在functions.php中使用的代码

add_action( 'init', 'register_cpt_video' );
    function register_cpt_video() {
        $labels = array(
            'name'                      => __( 'Videos', 'video' ),
            'singular_name'             => __( 'Video', 'video' ),
            'add_new'                   => __( 'Añadir nuevo', 'video' ),
            'add_new_item'              => __( 'Añadir nuevo video', 'video' ),
            'edit_item'                 => __( 'Editar video', 'video' ),
            'new_item'                  => __( 'Nuevo video', 'video' ),
            'view_item'                 => __( 'Ver video', 'video' ),
            'search_items'              => __( 'Buscar videos', 'video' ),
            'not_found'                 => __( 'No se encontraron videos', 'video' ),
            'not_found_in_trash'        => __( 'No se encontraron videos en la papelera', 'video' ),
            'parent_item_colon'         => __( 'Parent Video:', 'video' ),
            'menu_name'                 => __( 'Video', 'video' ),
        );
        $args = array(
            'labels'                    => $labels,
            'hierarchical'              => false,
            'supports'                  => array( 'title', 'editor', 'thumbnail' ),
            'public'                    => true,
            'show_ui'                   => true,
            'show_in_menu'              => true,
            'menu_position'             => 5,
            'menu_icon'                 => 'dashicons-format-video',
            'show_in_nav_menus'         => true,
            'publicly_queryable'        => true,
            'exclude_from_search'       => false,
            'has_archive'               => true,
            'query_var'                 => true,
            'can_export'                => true,
            'rewrite'                   => true,
            'capability_type'           => 'post'
        );
        register_post_type( 'video', $args );

        $labels = array(
            'name'                  => _x( 'Categorías de video', 'Nombre de categoría de proyectos', 'video' ),
            'singular_name'         => _x( 'Categoría', 'Nombre de categoría de proyecto', 'video' ),
            'search_items'          => __( 'Buscar categorías', 'video' ),
            'all_items'             => __( 'Todas las categorías', 'video' ),
            'parent_item'           => __( 'Categoría superior', 'video' ),
            'parent_item_colon'     => __( 'Categoría superior:', 'video' ),
            'edit_item'             => __( 'Editar categoría', 'video' ),
            'update_item'           => __( 'Actualizar categoría', 'video' ),
            'add_new_item'          => __( 'Añadir nueva categoría', 'video' ),
            'new_item_name'         => __( 'Nueva categoría', 'video' ),
            'menu_name'             => __( 'Categorías', 'video' ),
        );
        register_taxonomy(
            'categoria-video', array( 'video' ), array(
                'hierarchical'          => true,
                'labels'                => $labels,
                'show_ui'               => true,
                'show_admin_column'     => true,
                'query_var'             => true,
            )
        );

        $labels = array(
            'name'                  => _x( 'Etiquetas de video', 'Nombre de etiqueta de proyectos', 'video' ),
            'singular_name'         => _x( 'Etiqueta', 'Nombre de etiqueta de proyecto', 'video' ),
            'search_items'          => __( 'Buscar etiquetas', 'video' ),
            'all_items'             => __( 'Todas las etiquetas', 'video' ),
            'parent_item'           => __( 'Etiqueta superior', 'video' ),
            'parent_item_colon'     => __( 'Etiqueta superior:', 'video' ),
            'edit_item'             => __( 'Editar etiqueta', 'video' ),
            'update_item'           => __( 'Actualizar etiqueta', 'video' ),
            'add_new_item'          => __( 'Añadir nueva etiqueta', 'video' ),
            'new_item_name'         => __( 'Nueva etiqueta', 'video' ),
            'menu_name'             => __( 'Etiquetas', 'video' ),
        );
        register_taxonomy( 
            'tag-video', array( 'video' ), array(
                'hierarchical'          => false,
                'labels'                => $labels,
                'show_ui'               => true,
                'show_admin_column'     => true,
                'query_var'             => true,
            )
        );
    }

这是我在single-video.php

中添加的代码
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();?>
            <article>
                <h1><?php the_title(); ?></h1>
                <?php the_content(); ?>
                <div class="show_video">
                    <iframe src="https://www.youtube.com/embed/<?php echo get_post_meta(get_the_ID(),'datos_del_video_identificador',true); ?>" frameborder="0" scrolling="no" allowfullscreen></iframe>
                </div>
                <div class="info_video">
                    <div class="date_post">
                        <p><?php echo get_the_date(); ?></p>
                    </div>
                    <div class="category_post">
                        <p>Categoría: <?php get_the_category(); ?></p>

                    </div>
                </div>
                <div class="tag_list_post">
                    <?php get_the_tag_list(); ?>
                </div>
            </article>
            <?php endwhile; endif; ?>

如果您能帮我解决这个问题,我将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

get_the_categoryget_the_tag_list仅适用于默认帖子类型(帖子)

要获得自定义税务使用get_the_terms,在您的情况下,它应如下所示:

$video_cats = get_the_terms(get_the_ID(),'categoria-video');
$video_tags = get_the_terms(get_the_ID(),'tag-video');