Перелинковка постов
Использую код kama_previous_posts_from_tax для перелинковки.
По умолчанию вывожу перелинковку по общей категории, где есть всё, но сейчас возникла потребность удалить из перелинковки посты, которые находятся в определенной таксономии.
В WHERE часть запроса нужно добавить условие
AND tx.term_id NOT IN (12,13,14)
. Примерно так:Где 12,13,14 - это ID терминов, которые нужно исключить.
Сработало не так как нужно.
В итоге если захожу в пост, который находится в указанной таксономии, то перелинковка там просто исчезает. Мне нужно выполнить немного другую задачу.
Есть общая категория в которой находятся все посты. Именно из этой категории формируется вся перелинковка.
Есть таксономия, назовем ее "скрытые посты".
Теперь заходим в любой пост без таксономии и видим в перелинковке посты, которые находятся в таксономии "скрытые посты", вот эти посты нужно спрятать.
То есть "скрытые посты" нужно удалить везде, такое возможно?
К делу не относится, но покажу чисто для наглядного примера, как я сделал вывод в WP_Query
Вывожу все посты из общей рубрики "all-rub" и удаляю посты из таксономии. В перелинковке нужно сделать точно так же, чтобы все посты выводились из общей рубрики, но посты которые находятся в указанной таксономии были удалены.
В том коде работа ведется с одной таксономией, а тут нужно работать с двумя. В мой из статьи нужно добавить это все в условия запроса и JOIN часть.
Примерно так:
Вообще, возможно проще самому написать запросы на WP_Query для такой перелинковки и не использовать код из статьи.
В итоге не сработало. Проверил на второй версии перелинковки, вместо того, чтобы удалить из выдачи указанные таксономии, просто ничего не выводит. Может название таксономии нужно еще добавить?
Я кстати настроил старую версию перелинковки уже много лет назад. В разных постах вывожу посты из нужных таксономий, это сейчас обстоятельства сложились так, что нужно удалить посты из нескольких таксономий. Сомневаюсь, что смогу реализовать это на WP_Query
SECOND_TAX - надо заменить на название второй таксы...
Вроде на WP_Query такое можно реализовать. По-хорошему мой код нужно переписать на WP_Query но время нет этим заниматься.
Все равно не получилось, просто ничего не выводит