Пользовательский тип записи: Как отобразить всю одну и ту же таксономию?
Нет ли структуры постоянных ссылок, которая по существу перечислит все categories
определенного post type
?
function create_faqs_post_type() {
register_post_type( 'faqs',
array(
'labels' => array(
'name' => __( 'FAQs' ),
'singular_name' => __( 'FAQ' )
),
'public' => true,
'menu_position' => 5,
'rewrite' => array('slug' => 'the-faqs')
)
);
}
add_action( 'init', 'create_faqs_post_type' );
function create_faq_taxonomy() {
register_taxonomy(
'faqs_categories',
'faqs',
array(
'hierarchical' => true,
'label' => 'FAQs Categories',
'query_var' => true
)
);
}
add_action( 'init', 'create_faq_taxonomy' );
Этот код я использую для регистрации пользовательского типа записи faqs
, а затем регистрирую для него таксономию.
Разве нет структуры постоянных ссылок, которая, по сути, автоматически перечислит все faqs
определенной таксономии? Или мне нужно создать пользовательский шаблон и запросить его специально?
2 answers
@dcolumbus
Вы можете переписать постоянную ссылку при регистрации таксономии, используя следующее:
'переписать'=>массив ('slug'=> 'категории часто задаваемых вопросов', 'with_front'=>ложь),
Затем site.com/faqcategories следует вытащить их и site.com/faqcategories/easy должен получить их для вас на "легкий" срок.
Если я правильно вас понимаю.
Вы можете использовать что-то вроде этого:
<?php
$catArgs = array(
'taxonomy'=>'faqs_categories'
// post_type isn't a valid argument, no matter how you use it.
);
$categories = get_categories('taxonomy=faqs_categories&post_type=faqs'); ?>
<?php foreach ($categories as $category) : ?>
<div class="faqs-cat"><?php echo $category->name; ?></div>
<?php
$postArgs = array(
'orderby' => 'title',
'order' => 'ASC',
'post_type'=>'faqs',
'cat'=>$category->cat_ID,
'tax_query' => array(
array(
'taxonomy' => 'faqs_categories'
)
)
);
query_posts($postArgs) ?>
<ul>
<?php while(have_posts()): the_post(); ?>
<li><a><?php the_title() ?></a></li>
<?php endwhile; ?>
</ul>
<?php endforeach; ?>
<?php wp_reset_query();
Отредактированный, но оригинальный источник здесь. Удачи, надеюсь, это поможет.