我正在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; ?>
如果您能帮我解决这个问题,我将不胜感激。谢谢!
答案 0 :(得分:0)
get_the_category
和get_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');