#wordpress #advanced-custom-fields
#wordpress #дополнительно-пользовательские-поля
Вопрос:
У меня есть пользовательский тип записи WordPress с пользовательскими полями. Изначально требовалось, чтобы каждое сообщение имело только один pin-код «Say example» 1001, и все сообщения с пользовательскими полями имеют 1001, которые необходимо извлечь. Я использовал аргументы запроса как
<?php
$args = array(
'post_type'=> array('sales'),
'posts_per_page' => -1,
'meta_key'=> 'pin',
'meta_value'=> $pin
);
query_posts( $args );
?>
Теперь у меня может быть несколько zip-файлов в одном пользовательском поле.
https://www.dropbox.com/s/pk53z23jbfj8p2t/zipcode.png?dl=0
Как нужно изменить запрос, чтобы, если введенный zip-файл соответствовал какому-либо элементу в поданном файле, отображалась запись.
Так, например, пользовательское поле имеет значения 63001,63002,63003 и так далее. Итак, если пользователь вводит 63002, должны отображаться все записи с 63002 в пользовательском поле.
Комментарии:
1. Если у вас есть код, пожалуйста, поделитесь для лучшего понимания.
Ответ №1:
Попробуйте ниже:
$args = array(
'post_type'=> array('sales'),
'posts_per_page' => -1,
'meta_query' => array( array(
'key'=> 'pin',
'value'=> ','.$pin.',',
'compare'=> 'LIKE'
) )
);
query_posts( $args );
Комментарии:
1. привет @jayadip, он работает, но возвращает только 1 результат, даже если есть несколько сообщений. Я отлаживаю его. У вас есть какое-либо представление о том, в чем проблема. Спасибо, приятель, за твою помощь.
2. Мне кажется, что это не сработало бы, если бы
$pin
было первое или последнее значение в спискеpin
s.
Ответ №2:
попробуйте обновить мета-значение post в типе json с помощью json_encode и получить его с помощью json_decode