Как сделать страницу архива Wordpress для пользовательских постов и таксономий? - PullRequest
5 голосов
/ 05 июня 2011

Я пытаюсь настроить страницу архива с пользовательскими типами записей и пользовательской таксономией в Wordpress.

Я создал пользовательский тип записи: «пакет» и пользовательскую таксономию: «программное обеспечение».Моя проблема в том, что когда я пытаюсь посмотреть на localhost: 8888 / software / aperture, я получаю все сообщения пакета типа, а не только сообщения с выбранной апертурой таксономии.Я использую следующий код:

<?php
        $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
        ?>
        <h1><?php echo $term->name;?> Presets</h1>
        <div class="intro2">
            <p>
            <?php echo $term->description;?>
            </p>
        </div>
        <?php query_posts('post_type=package'); ?>
         <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
            <!-- Product Start -->
            <div class="product">
                <div class="product_top"></div>
                <div class="product_content">
                        <div class="product_image">
                        <a href="<?php the_permalink()?>">
                            <?php echo get_the_post_thumbnail( $id, $size, $attr ); ?> 
                        </div>
                        <a href="<?php the_permalink()?>" class="title"><?php the_title()?></a>
                            <?php the_excerpt()?>                   
                        <div class="theprice">
                            <?php
                            $price = get_post_meta($post->ID, "price", true);
                            echo "$".$price;
                            ?>
                        </div>
                        <a href="<?php the_permalink()?>" class="button calltoaction"><span>See The Presets</span></a>
                        <div class="clearboth"></div>
                </div>
            </div>
         <?php endwhile; else: ?>
         <p>Sorry, no posts matched your criteria.</p>
         <?php endif; ?>    

Как мне получить эту страницу архива, чтобы просто показывать сообщения типа пакета из текущего выбранного элемента в пользовательской таксономии?

КстатиЯ использовал плагины «Больше типов» и «Больше таксономий» для его настройки.

Обновление: решено:

Решил сам, добавив, установив Разрешить запросыЗначение true в плагине «больше таксономий» и установка переменной в предустановки.Затем я изменил запрос на: <?php query_posts(array( 'post_type'=>'package', 'presets' => $term->slug, 'posts_per_page' => -1 )); ?>

1 Ответ

1 голос
/ 01 сентября 2011

Изменить <?php query_posts('post_type=package'); ?>

с

<?php query_posts(array('post_type'=> 'package',array('taxonomy' => 'software'))); ?>

or

<?php query_posts(array('post_type'=> 'package','taxonomy' => 'software')); ?>
...