it-swarm.com.ru

Фильтрация WP Результат запроса

У меня есть несколько сообщений пользовательского типа, которые я уже отфильтровал, используя WP Query.

Из этого списка я пытаюсь отфильтровать записи с определенным значением настраиваемого поля.

Я пытался использовать meta_query, но проблема в том, что значение выбора еще не существует. Он существует только после завершения запроса. У меня уже есть значение выбора, хранящееся в переменной.

<?php
$args = array(
    'post_type' => array(
        'one',
        'two',
        'three'
    ),
    'meta_query' => array(
        array(
            'key' => 'owner',
            //'value' => $currentSignedUser,
            //'value' => 'Owner'
        ),
    ),
);

$query = new WP_Query( $args );

echo '<h5>List of owned stuff: </h5><br />';

while($query->have_posts()) :
    $query->the_post();
    ?>
    <p><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <br />
    <?php
    $owner_select = get_field('owner');

    if ($owner_select) {
        echo 'Owner: ' . $owner_select[display_name];
    } else{
        echo '<p style="color:darkred"><strong>No associated owner for this item.</strong></p>' ;
    }
    ?> </p>
    <?php
endwhile;
wp_reset_query();

Как я могу отфильтровать результаты первого запроса с другим запросом? Будет ли это правильный путь или это другой метод?

Спасибо!

3
MauF

Я решил свою проблему, перечитав документацию по пользовательским полям ACF .

Вместо meta_query я должен был использовать meta_key.

Правильный аргумент для настраиваемого поля:

// args
$args = array(
    'numberposts'   => -1,
    'post_type'     => 'event',
    'meta_key'      => 'location',
    'meta_value'    => 'Melbourne'
);
2
MauF