Intereting Posts
Плагин Fancybox: запуск по атрибуту href Как отображать статьи в соответствии с выбранными пользователями параметрами? Статические каталоги в многоузловой сети WordPress Нет опции «Я хочу, чтобы мой сайт был приватным, видимым только для пользователей, которых я выбираю» в настройках конфиденциальности Как набрать запрос X количество сообщений, связанных по тегу, сначала, а затем по категории, если этого недостаточно, связанных с тегами Текстовый домен проверки темы Удалить родительскую страницу из URL-адреса Показать изображения категорий детей Включение / добавление специальных сочетаний клавиш для работы с редактором HTML WordPress Как очистить debug.log, когда размер файла превышает xyMB? Удаление ассоциированных медиа на странице / Удаление сообщения Как добавить файл .php в WordPress Создайте сеть веб-сайта rss Перенаправить общедоступный сайт в другой, но разрешить администраторам доступ к старому сайту обновить Semiologic?

Как запрашивать сообщения из настраиваемого типа сообщений, который содержит пользовательскую таксономию?

У меня есть следующее:

$queryResponse = new \WP_Query(array( 'post_type' => 'portfolio', 'tax_query' => array( array( 'taxonomy' => 'portfolio_date', 'field' => 'name', 'term' => $dateSelected ) ) )); var_dump($queryResponse); 

$dateSelected – '2015'.

Я хочу: все сообщения из типа портфолио post с пользовательской таксономией portfolio_date (Фактическое имя: Дата портфолио. Это то, что видит пользователь), значение которого в данном случае равно 2015 году.

Поэтому, если я создам 6 должностей в портфеле, с датой портфеля 2015 года, я должен вернуть 6 должностей. Сейчас я получаю: 0 сообщений.

У меня есть 1 сообщение под этим типом сообщения с этой таксономией.

Solutions Collecting From Web of "Как запрашивать сообщения из настраиваемого типа сообщений, который содержит пользовательскую таксономию?"

У вас есть одна или две проблемы здесь и возможные будущие ошибки, с которыми вы можете столкнуться

  • term в вашем tax_query должен быть terms

  • Будьте осторожны с терминами, имеющими даты как имена, и особенно даты в виде пули. Это может вызвать проблемы и неожиданные результаты, если пользовательские постоянные ссылки столкнутся или что-то попадает в иерархию шаблонов по какой-либо причине.

  • Никогда не используйте поле name в tax_query . Существует проблема с дезинфекцией имени термина до того, как предложение предложения будет сконфигурировано для SQL-запроса в классе WP_Tax_Query . Это известная ошибка, которая будет доступна для многих версий.

    Я объяснил полную проблему в этом ответе, который я недавно сделал, поэтому не стесняйтесь читать все 9 ярдов. Но, в WP_Tax_Query , в основном, WP_Tax_Query использует sanitize_title_for_query для дезинфекции ввода из поля name в tax_query . Эта функция разделяет все пробелы и специальные символы, а также преобразует все капиталы в нижний регистр. Таким образом, имя термина, такое как My Term Name/2 преобразуется в my-term_name2 которое не будет выполнено, поскольку имя этого термина не существует.

    Короче говоря, в качестве меры предосторожности не используйте поле name в tax_query , скорее используйте term_id или slug . Если вы не знаете эти значения, используйте get_term_by() чтобы получить термин «ID» или «слизняк» от имени, а затем передать это в tax_query

  • Вы также должны убедиться, что вы можете публиковать сообщения из своей пользовательской таксономии и пользовательского типа сообщений. Убедитесь, что установлены правильные значения при регистрации типа сообщения и таксономии