Категория __not_in - В любом случае использовать имя категории вместо идентификатора?
-
16-10-2019 - |
Вопрос
Я хотел бы исключить категории из цикла, используя «имя» вместо «ID», поскольку идентификатор может измениться при использовании новых баз данных. Имя, однако, всегда будет таким же.
Это возможно?
Решение
Вы можете использовать Список категорий сообщений (Отказ от ответственности: я автор книги категорий списков) или вы можете кодировать это самостоятельно:
$category_id = get_cat_ID($category_name);
Таким образом, вы можете получить удостоверение личности и исключить его из петли со знаком минус. Пример:
get_posts(cat=-1);
Другие советы
Нет.
WordPress очень насильственно преобразует ввод этого аргумента в целые числа и является частью его Подпроката из таблиц, которые на самом деле не содержат названия категорий.
Вы можете построить свой собственный аналог, используя posts_where
Фильтр для изменения SQL ... но я думаю, что если вам не нужно много категорий, чтобы исключить, было бы более практичным просто преобразовать имена в идентификаторы перед запросом.