我创建了一个名为video的自定义帖子类型,并为自定义帖子的categories video\\u类别创建了一个自定义分类法。taxonomy-video_category.php
是处理分类的文件,但是,即使存在类型为video\\u category的帖子,它也不会返回任何帖子。
这是用于创建分类的代码,到目前为止,似乎找不到确切的错误:
function taxonomies_video() {
$labels = array(
\'name\' => _x(\'Videos Categories\', \'taxonomy general name\'),
\'singular_name\' => _x(\'Video Category\', \'taxonomy singular name\'),
\'search_items\' => __(\'Search Video Categories\'),
\'all_items\' => __(\'All Video Categories\'),
\'parent_item\' => __(\'Parent Video Category\'),
\'parent_item_colon\' => __(\'Parent Video Category:\'),
\'edit_item\' => __(\'Edit Video Category\'),
\'update_item\' => __(\'Update Video Category\'),
\'add_new_item\' => __(\'Add New Video Category\'),
\'new_item_name\' => __(\'New Video Category\'),
\'menu_name\' => __(\'Video Categories\')
);
$args = array(
\'labels\' => $labels,
\'hierarchical\' => true
);
register_taxonomy(\'video_category\', \'video\', $args);
}
add_action(\'init\', \'taxonomies_video\', 0);
中使用的代码
taxonomy-video_category.php
:
// ...
<?php if ( have_posts() ) : ?>
<div class="entry-content">
<?php while ( have_posts() ) : the_post(); ?>
<?php
get_template_part( \'template-parts/content\', \'video_cat\' );
?>
<?php endwhile; ?>
</div>
<?php else : ?>
<?php get_template_part( \'template-parts/content\', \'none\' ); ?>
<?php endif; ?>
// ...
最合适的回答,由SO网友:j.grima 整理而成
我终于明白了,在我的问题中我没有详细说明这一点,但我有exclude_from_search
设置为true
在…上register_post_type
这就是为什么在taxonomy-video_category.php
模板文件。
将其更改为false,现在将显示帖子。
// ...
$args = array(
\'labels\' => $labels,
\'description\' => \'Holds our Videos and Video specific data\',
\'public\' => true,
\'exclude_from_search\' => false,
\'menu_position\' => 5,
\'supports\' => array(\'title\', \'editor\', \'page-attributes\', \'thumbnail\'),
\'has_archive\' => true,
\'rewrite\' => array(\'slug\' => \'how-to-videos\')
);
register_post_type(\'video\', $args);
// ...
进一步解释
exclude_from_search
在这个
question.