Речь о произвольном типе постов. Есть переменная, содержащая некое число, например
$numb = '5';
Есть мета поле, которое содержит вот такой массив:
a:2:{s:4:"name";s:16:"Тестовый";s:2:"id";s:1:"3";}
В этом массиве интересует только ID, который в данном примере равен 3.
Необходимо построить WP_Query, в аргументах которого получить мета поле и сравнить ID из него со значением из параметра $numb. Соответственно, включать в цикл только те посты, у которых значение из параметра $numb будет равно id из массива этого мета поля.
Нашёл решение! Не могу сказать, насколько правильное регулярное выражение получилось, но работает.
Итак, в параметрах WP_Query при работе с мета полями используем meta_query, который содержит параметр compare (вариант сравнения). В параметре compare необходимо указать вид сравнения - REGEXP .
Соответственно, получаем такого вида аргумент для произвольного поля, содержащего массив:
'meta_query' => array(
'relation' => 'AND ',
array(
'key' => 'ИМЯ ПОЛЯ',
'value' => '(id";s:[0-9]+:")' . $ПЕРЕМЕННАЯ . '(";})$',
'compare' => 'REGEXP'
)
)
Выражаю благодарность KAGG Design за подсказку по поводу REGEXP.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости