Intereting Posts
Как разместить 2 субдомена в качестве тематических мест в одном домене? Использование темы chunk из wordpress.com на моем собственном хосте Пустые страницы в панели администратора, но передняя часть работает нормально Форма поиска не работает на сообщениях Сделать атрибут Items доступным для поиска (таксономия с использованием существующего атрибута) warnCommentChanges всегда запускается при обновлении Есть ли крючок recover_post для перехода с trash_post hook? Отобразить custom_post_type с текущей таксономией страницы Какова функция проверки сетевого администратора? Отображать только миниатюру, если она больше, чем Ошибка выхода из WordPress Как удалить версию WordPress из источника браузера? Определить постоянные ссылки для настраиваемого типа сообщений по таксономии в WP 3.4 Удалите мета-окно плагина с панели инструментов Как использовать fetch_feed () для загрузки большого количества сообщений?

Вернуться все теги из результатов поиска

Мне интересно, можно ли вернуть список всех «тегов», связанных со всеми возвращаемыми сообщениями. Теоретически я бы использовал этот список терминов для создания соответствующих ссылок «фильтр по» для уточнения поиска.

Например: пользователь ищет «Foo», и есть 100 результатов. Можно ли получить коллекцию всех тегов сообщений? Таким образом, сообщение «Foo 1» может быть помечено «маленьким баром», а сообщение «Foo 2» может быть помечено «большой баром» и «foo foo» и т. Д. И т. Д.

Я хотел бы сделать это до того, как while_posts() выполнит свою while_posts() . В противном случае, я думаю, я мог бы использовать while_posts() для сбора всех тегов для каждого сообщения. Это наиболее очевидное решение для меня, за исключением того, что тогда список не там, где я хочу его в разметке. И, я не уверен, как включить теги на странице 2 (и дальше) результатов.

Solutions Collecting From Web of "Вернуться все теги из результатов поиска"

Глобальный объект $wp_query доступен до вызова have_posts() . Все, что вам нужно сделать, это запустить элемент posts этого объекта с помощью get_the_terms() .

Функция выборки:

 function get_query_terms( $taxonomy = 'post_tag' ) { $list = array (); foreach ( $GLOBALS['wp_query']->posts as $id ) { if ( $terms = get_the_terms( $id, $taxonomy ) ) { foreach ( $terms as $term ) $list[ $term->term_taxonomy_id ] = $term; } } ksort( $list ); return $list; } 

Помните, что любое использование query_posts() может разорвать этот список.