Query WP Custom Posts с полем ACF Taxonomy - PullRequest
0 голосов
/ 03 февраля 2019

Мне нужно запросить пользовательские сообщения с полем ACT Таксономия.Я создал этот код:

Поле ACF My Taxonomy возвращает Term Object и разрешает множественный выбор, но этот код работает только для последнего выбранного термина.Мне нужно запросить все выбранные термины.

<?php
$album_count = get_sub_field('album-count');
$album = get_sub_field('album-custom-category'); ?>
<?php foreach ( $album as $album ); ?>
<?php $the_query = new WP_Query( 
    array(
    'post_type' => 'gallery',
    'orderby' => 'date',
    'posts_per_page' => 6,
    'tax_query' => array(
        array(
            'taxonomy' => 'albums',
            'field'    => 'slug',
            'terms'    => array( $album->slug ),
        ),
    ),
    )
    ); 
    ?>

Где моя ошибка?

1 Ответ

0 голосов
/ 03 февраля 2019

Вы выполняете foreach со всеми терминами, а затем устанавливаете значение запроса внутри foreach, которое, конечно, будет содержать только последний термин, потому что вы переопределяете предыдущее значение каждый раз.Поскольку это множественный выбор, вы можете просто передать весь массив альбомов в WP_Query.Также убедитесь, что вы возвращаете значение идентификатора термина в ACF, а не в объекте термина.Затем вы обновите свой код, чтобы он выглядел примерно так:

<?php
$album_count = get_sub_field('album-count');
$albums = get_sub_field('album-custom-category'); ?>

<?php $the_query = new WP_Query( 
  array(
    'post_type' => 'gallery',
    'orderby' => 'date',
    'posts_per_page' => 6,
    'tax_query' => array(
      array(
        'taxonomy' => 'albums',
        'field'    => 'term_id', // This line can be removed since it’s the default. Just wanted to show that you’re passing the term is instead of slug.
        'terms'    => $albums,
      ),
    ),
  ),
); ?>
...