Петля для пользовательских типов сообщений, отфильтрованных по таксономии

Я использую функцию Custom Post Type в WordPress 3 для создания раздела «События» для моего сайта. Я могу показать это, используя соответствующие файлы шаблонов, но также хочу, чтобы списки событий были видны на других страницах.

Я сделал это с обычными типами сообщений, но они основаны на идентификаторах категорий, которые не имеют пользовательские типы сообщений.

Каждое событие имеет таксономию для страны, и я хочу, чтобы иметь возможность прокручивать события и отображать только события для определенных стран, поэтому я хочу иметь возможность фильтровать это.

Я посмотрел на Codex и придумал следующее, но ничего не отображает:

<?php $args = array( 'post_type'=> 'events', 'country' => 'england' ); $the_query = new WP_Query( $args ); if ( $the_query->have_posts() ) : // The Loop while ( $the_query->have_posts() ) : $the_query->the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile; endif; // Reset Post Data wp_reset_postdata(); ?> 

Я понял ответ, используя форум WordPress. Решение ниже:

  <?php query_posts( array( 'country' => 'event-england' ) ); ?> <?php if( is_tax() ) { global $wp_query; $term = $wp_query->get_queried_object(); $title = $term->name; } ?> <ul> <span class="tax-title"><?php echo($title); ?></span> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a><?php the_excerpt() ?></li> <?php endwhile; else: ?> <?php endif; ?> </ul> 

Каждая таксономия (построенная как «теги», «пост-форматы», «категория», а также обычай) имеет идентификатор, поэтому вы также можете получить это.

Насколько я вижу, ваш запрос должен работать, если вы просто добавите обычный if ( $the_query->have_posts() ) : перед вашим циклом и endif; после этого.