Intereting Posts
Установка ограничения на сообщения или создание страницы Получить идентификатор категории из категории slug (не работает) Как добавить логотип в Thematic Уведомление о публикации некоторых публикаций Получение сообщения по определенной дате в Advance Custom Field Как я могу позволить пользователю нажимать клавишу ввода без создания нового элемента в редакторе? Динамически обновлять адрес сайта / WordPress Страницы верхнего уровня в WordPress, дающие 404, но детские страницы работают нормально Как синхронизировать настройки плагина WordPress между средами? Хранение временных данных для настраиваемого типа сообщений wp_query, если есть сообщения, показывающие дату, но не в цикле Помощь с выводами классов post с помощью apply_filters Как перейти от персонализированного URL-адреса типа URL-адреса к категории? Как правило, пользовательский тип сообщения Видимость является закрытым по умолчанию, а переключатель радиосвязи также установлен на «Частный», Преобразование статического веб-сайта в тему WordPress и импорт всего существующего контента

previous_post_link / next_post_link исчезают, если исключить post_format

Я пытаюсь исключить сторонние форматы из моих следующих и предыдущих ссылок, но по какой-то причине использование get_term_by не возвращает мне term_id для таксономии post_format . Я вижу, что эта таксономия используется ядром WordPress здесь , поэтому я знаю, что делаю это правильно. Согласно этой публикации , я должен быть уверен, что таксономия правильно зарегистрирована. get_taxonomies() печати Я вижу следующий результат get_taxonomies() .

 Array ( [category] => category [post_tag] => post_tag [nav_menu] => nav_menu [link_category] => link_category [post_format] => post_format [tagportfolio] => tagportfolio ) 

Таким образом, я вижу, что таксономия post_format зарегистрирована. Вот мой код:

 <?php print_r(get_taxonomies()); ?> <?php print_r(get_term_by('id', 'post-format-aside', 'post_format')->term_id); ?> <?php previous_post_link('&lsaquo; %link', '%title', false, array(get_term_by('id', 'post-format-aside', 'post_format')->term_id )); ?> <?php next_post_link('%link &rsaquo;', '%title', false, array(get_term_by('id', 'post-format-aside', 'post_format')->term_id )); ?> 

Любые идеи о том, почему это не работает? Почему здесь не исключены лишние должности?

ОБНОВЛЕНИЕ 1

Следующий код возвращает мне term_id из get_term_by , но приводит к исчезновению следующих / предыдущих ссылок:

 <?php print_r(get_taxonomies()); ?> <?php print_r(get_term_by('slug', 'post-format-aside', 'post_format')->term_id); ?> <?php previous_post_link('&lsaquo; %link', '%title', false, array(get_term_by('slug', 'post-format-aside', 'post_format')->term_id )); ?> <?php next_post_link('%link &rsaquo;', '%title', false, array(get_term_by('slug', 'post-format-aside', 'post_format')->term_id )); ?> 

Объект, возвращаемый get_term_by :

 STDCLASS OBJECT ( [TERM_ID] => 10 [NAME] => ASIDE [SLUG] => POST-FORMAT-ASIDE [TERM_GROUP] => 0 [TERM_TAXONOMY_ID] => 10 [TAXONOMY] => POST_FORMAT [DESCRIPTION] => [PARENT] => 0 [COUNT] => 0 [FILTER] => RAW ) 

ОБНОВЛЕНИЕ 2

Когда я включаю отладку запроса WordPress , я вижу, что запускается следующий запрос, который является пустым.

 mysql> SELECT P.ID FROM WP_POSTS AS P INNER JOIN WP_TERM_RELATIONSHIPS AS TR ON P.ID = TR.OBJECT_ID INNER JOIN WP_TERM_TAXONOMY TT ON TR.TERM_TAXONOMY_ID = TT.TERM_TAXONOMY_ID WHERE P.POST_DATE < '2015-06-01 20:10:00' AND P.POST_TYPE = 'PROJECT' AND TT.TAXONOMY = 'CATEGORY' AND P.ID NOT IN ( SELECT TR.OBJECT_ID FROM WP_TERM_RELATIONSHIPS TR LEFT JOIN WP_TERM_TAXONOMY TT ON (TR.TERM_TAXONOMY_ID = TT.TERM_TAXONOMY_ID) WHERE TT.TERM_ID IN (10) ) AND ( P.POST_STATUS = 'PUBLISH' OR P.POST_STATUS = 'PRIVATE' ) ORDER BY P.POST_DATE DESC ; Empty set (0.01 sec) 

Что странно в этом, так это то, что запрос пытается найти предыдущую запись на основе таксономии категории, которую я явно просил функцию не выполнять через параметры запроса. Это похоже на ошибку в WordPress для меня.