Получение записей произвольного типа по метке
Возможно ли получить записи произвольного типа по метке (tag)? Я пытался использовать следующий код, однако он создает бесконечный цикл.
<aside class="supporting_images">
<?php /*<?php if($post->ID == 241) : echo apply_filters('the_content', '[slideshow=3]'); endif; ?>
<?php the_post_thumbnail(); ?>*/?>
<?php if($post->ID == 241) : ?>
<?php
$query = new WP_Query();
$query->query('tag=branding');
?>
<?php while ($query->have_posts()) : ?>
привет
<?php endwhile; ?>
<?php endif;?>
Вам нужно настроить запрос постов, изменив следующую строку, чтобы избежать бесконечного цикла.
<?php while ($query->have_posts()) : $query->the_post(); ?>
Если вам нужен пользовательский тип записи, его необходимо указать в аргументах запроса:
<?php $query = new WP_Query( array( "post-type" => "yourposttype", "tag" => "branding" ) ); ?>
Большинство (если не все) параметры запроса можно найти в кодексе. http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

Используйте tag_slug__in
вместо tag
(#REF)
Пример:
$query = new WP_Query(array(
'post_status' => 'publish',
'post_type' => 'your-posttype', // или 'any'
'tag_slug__in' => 'your-tag',
'posts_per_page' => -1
));
Шаг: Сначала фильтруем по типу записи, затем по метке
Другие ответы предлагают "Фильтровать по типу записи и по метке"

Чтобы избежать бесконечного цикла, необходимо выполнять перебор полученных записей:
<?php
$query = new WP_Query(
array( "post_type" => "yourposttype", // не "post-type" !
"tag" => "branding"
) );
while ($query->have_posts()) : $query->the_post(); ?>
Привет
<?php endwhile; ?>
