Пользовательский тип записи: Как отобразить всю одну и ту же таксономию?


Нет ли структуры постоянных ссылок, которая по существу перечислит все 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 определенной таксономии? Или мне нужно создать пользовательский шаблон и запросить его специально?

Author: dcolumbus, 2012-03-26

2 answers

@dcolumbus

Вы можете переписать постоянную ссылку при регистрации таксономии, используя следующее:

'переписать'=>массив ('slug'=> 'категории часто задаваемых вопросов', 'with_front'=>ложь),

Затем site.com/faqcategories следует вытащить их и site.com/faqcategories/easy должен получить их для вас на "легкий" срок.

Если я правильно вас понимаю.

 1
Author: Christopher, 2012-03-26 03:29:14

Вы можете использовать что-то вроде этого:

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

Отредактированный, но оригинальный источник здесь. Удачи, надеюсь, это поможет.

 0
Author: David, 2012-03-26 03:16:40