Получение записей произвольного типа по метке

7 сент. 2011 г., 17:03:31
Просмотры: 27.1K
Голосов: 5

Возможно ли получить записи произвольного типа по метке (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;?>

0
Все ответы на вопрос 3
0

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

<?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

7 сент. 2011 г. 18:25:56
0

Используйте 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
));

Шаг: Сначала фильтруем по типу записи, затем по метке

Другие ответы предлагают "Фильтровать по типу записи и по метке"

23 сент. 2015 г. 14:17:08
0

Чтобы избежать бесконечного цикла, необходимо выполнять перебор полученных записей:

<?php
$query = new WP_Query(
    array( "post_type" => "yourposttype", // не "post-type" !
           "tag" => "branding"
    ) );
while ($query->have_posts()) : $query->the_post(); ?>
    Привет
<?php endwhile; ?>
8 нояб. 2011 г. 11:44:35