Intereting Posts
Возврат URL-адреса изображения из его идентификатора привязки с использованием настраиваемого плагина типа сообщения Рекомендации по использованию переходного API Список наиболее популярных 8 городов (настраиваемые поля), используемые в сообщениях Как заставить виджет боковой панели обладать контейнером div во всех дочерних виджетах? Как снова включить поиск Google Как изменить значение метаданных комментария до его сохранения? PHP Предупреждение: preg_match () ожидает & PHP Предупреждение: strip_tags () В WordPress, как вы создаете несколько разных редакторов для одной страницы? Как удалить * родительский шаблон страницы темы из дочерней темы? Как создать собственный CSS-класс для определенного шаблона страницы? Остановить вкладчиков от редактирования стандартных сообщений, но разрешить им редактировать настраиваемый тип сообщений Сделать обычную страницу в точности как домашняя страница Как включить сообщения из одной категории в отдельную категорию сообщений? Как избежать заполнения массива каждый раз, когда я запускаю WP_query? Как я могу использовать статический (ish) URL для отображаемого изображения для сообщения?

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

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

$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

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