Запрос постов по названию таксономического термина

6 сент. 2012 г., 13:18:21
Просмотры: 23.6K
Голосов: 2

Мне нужно получить список записей по названию их произвольной таксономии (=store).

Вот что у меня есть на данный момент, но это не работает.

Пожалуйста, помогите с кодом.

$mystorename - это переменная, содержащая название магазина, по которому я хочу сделать запрос.

Буду благодарен за любую помощь.

Спасибо

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'store', // таксономия
            'field' => 'name',     // поиск по названию термина
            'terms' => $mystorename // название магазина
        )
    )
);

$postslist = get_posts( $args );if(count($postslist) > 0){ ?>
0
Все ответы на вопрос 3
1

Я не уверен, поддерживает ли функция get_posts параметр tax_query. Возможно, стоит попробовать создать новый объект WP_Query.

$args = array(
'tax_query' => array(
    array(
        'taxonomy' => 'store',
        'field' => 'name',
        'terms' => $mystorename
        )
    )
);

$query = new WP_Query($args);
if ( $query -> have_posts() ) : while ( $query -> have_posts() ) : $query -> the_post(); ?>
    <!-- запись -->
<?php endwhile; ?>
    <!-- навигация по записям -->
<?php else: ?>
    <!-- записи не найдены -->
<?php endif; ?>
6 сент. 2012 г. 18:16:16
Комментарии

запрос, который вы опубликовали выше, продолжал выдавать мне ошибку ("ожидалась )") в строке с последним "array(". Я не мог понять, в чем проблема, поэтому оставил его и перешел на код ниже, который работает идеально. Спасибо

Naijadeals Naijadeals
8 сент. 2012 г. 04:20:27
0
<?php
$args=array(
  'store' => $mystoreslug,
  'post_type' => 'post',
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {?>

<div class="itembox">
<h1>Купоны магазина</h1>

<div class="itemboxinner">

<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
  <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка на <?php the_title_attribute(); ?>"><h3><?php the_title(); ?></h3></a></p>
<?php
endwhile;
}
wp_reset_query();  
?>
8 сент. 2012 г. 04:24:35
2

Как насчёт...

$args = array(
    'store' => $mystorename, // название магазина
);
$postslist = query_posts( $args ); // запрос постов
wp_reset_query(); // сброс запроса
7 дек. 2012 г. 17:33:01
Комментарии

Объясните, почему это может решить проблему.

fuxia fuxia
7 дек. 2012 г. 17:44:19

Query posts следует использовать только в крайнем случае, лучше использовать get_posts. Должно ли $mystorename быть slug, id или display name? Объясните.

AlxVallejo AlxVallejo
17 дек. 2012 г. 19:16:40