Как чередовать посты из разных циклов(условий/такс)?
Есть два вида постов, с разной вёрсткой и из разных таксономий, или даже один вид просто повторитель на кастомных полях. Требуется вывести и те и другие вперемешку, не один за другим. Не нашёл ничего в интернете на эту тему.
В чем вопрос? Как выбрать такие посты или как их показать?
Нужно реализовать такую структуру:
[Блок А] - запись из таксономии услуги [Блок Б] - запись из стандартной рубрики [Блок C] - кастомные поля [Сайдбар] [Блок А] [Блок А] [Блок Б] [Блок C] [Блок А] [Блок А] [Блок Б] [Блок C] [/Сайдбар]
Пока писал подумал, что можно открыть тогда для каждого новой цепочки блоков - отдельный цикл, но как тогда не выводить одинаковые записи? Или есть более элегантное решение?
Записи из таксономий можно получить одним запросом смотри тут примеры. Из кастомных полей наверное лучше сделать еще один запрос.
Затем собираешь это все в один массив, если нужно сортируешь его. При сборке можно в индекс массива указывать ID поста, тогда одинаковые посты сами собой отвалятся.
Затем проходишся циклом по полученному массиву и выводишь все в нужном виде.
Примерно так:
Да но получилось то же самое, что если просто указать таксономии в одном запросе, а как сделать для каждого отдельного запроса свою вёрстку?
Блин туплю, правильно же, теперь можно любой цикл получается внутри запустить с $post. Спасибо за помощь))
Но как всё же теперь внутри цикла проверить на то, к какой таксономии относится и вывести соответствующую вёрстку ? Тоесть не чередовать по алгоритму, а каждому своё ?
Сколько постов вообще нужно выводить таким образом? Пагинация нужна?
Как вариант, сделать тоже самое и и для каждой таксономии и каждому циклу при сборке указать таксономию, затем её проверять.
get_the_terms
узнаешь, к какой таксономии относится пост
Нет, пагинация не нужна - это просто сайдбар, где выводятся похожие записи вперемежку с другими видами записи
Хорошо, спасибо, теперь яснее стало, буду углубляться в вопрос!