У меня есть вывод произвольных записей.
Эти записи (условно Запись1) имеют произвольное поле (Поле1), которые я добавляю в meta_query в условиях. Т.е. выводится произвольные записи с учетом моего произвольного поля. Тут вопросов нет))
У меня есть некоторая переменная до WP_Query. Так и назовем ее *Переменная
Поле1 по факту является ID записи другого произвольного типа (Запись2), у которого есть свое произвольное поле (*Поле2).
Вот вопрос состоит в том как в WP_Query зная значения Поля1 Записи1 и Переменной определить по ID значение Поля2 Записи2 и проверить равно ли это значение моей Переменной.
Итого получается, что когда идет выборка записей из базы мне нужно взять и заглянуть в значение другой записи (зная ее ID) и в ней узнать значение произвольного поля.
Когда мы проваливаемся вовнутрь цикла, то так конечно же можно)
Но тут получается что в параметрах вывода мы к примеру установили 10 записей на странице. Дальше пагинация. И если просто не показывать ненужные записи пользователю, то пагинация будет работать некорректно. К примеру общее количество записей 50, скрыли мы 20. В пагинации будет показано 5 страниц (если их 10 на странице) - это неправильно.
Именно из-за этого пытаюсь выяснить как изначально ненужные записи попросту не брать в выборку.
selelo, как я понимаю, вы скрываете записи с помощью условия. В итоге WordPress видит все записи а не только те, которые нужны.
Чтобы это исправить в аргументы запишите по какому полю собираетесь сделать вывод. Допустим нужны все статьи с мета полем “color” . Так выведим только их. Но если вам нужно дополнительно вывести все статьи связанные с этим “color”, вам нужно будет получить все записи с этим мета полем и связанные с ним записи. А во время пагинация выводить их постепенно. То есть нужны сделать фильтр с помощью аргументов WP_Query а не с помощью условия.
Для того чтобы сделать пагинацию нужно получить количество всех нужных постов. Зная это число можно настроить пагинацию. Пагинацию в таком случае я делаю кастомную, так как по-другому не получается.