Intereting Posts
301 переадресации на сайте WordPress на главной странице Почему в определении WP_PLUGIN_DIR не используется DIRECTORY_SEPARATOR? Многострочный список сообщений Правильный способ скрыть псевдо-страницы от показа? Галерея установлена ​​в «Медиа-файл», отображая в качестве страницы вложения Строка вывода с использованием php printf Импорт MariaDB в Mysql в WordPress Как установить переменную, передать ее частичному файлу и удалить ее после? Глобально регистрируйте стили, но выставляйте их выборочно Пусть посетители публикуют комментарии на странице категории Добавить расширение .htm к пользовательской таксономии Сделайте Google индексировать весь пост, если он разделен на несколько страниц Jetpack Бесконечная прокрутка для нескольких столбцов на одной странице? Выделите текущий тег, используя get_tags () Вход в WordPress завершается после перенаправления домена .htaccess

Получить теги для post_type

У меня есть несколько настраиваемых типов сообщений, которые имеют одни и те же теги.

В архиве для каждого типа пользовательских сообщений я хочу отобразить список используемых тегов и количество сообщений, связанных с каждым. get_tags() по умолчанию извлекает всю свою информацию из всего содержимого сайта.

Я не могу найти никаких фильтров для функции get_tags() , и я не хочу выполнять и интенсивные запросы / функции для ручного подсчета и ограничения.

Solutions Collecting From Web of "Получить теги для post_type"

Он должен работать:

 global $wpdb; // set the target relationship here $post_type = 'post'; $taxonomy = 'tag'; $terms_ids = $wpdb->get_col( $wpdb->prepare( " SELECT tt.term_id FROM {$wpdb->term_relationships} tr, {$wpdb->term_taxonomy} tt, {$wpdb->posts} p WHERE 1=1 AND tr.object_id = p.id AND p.post_type = '%s' AND p.post_status = 'publish' AND tr.term_taxonomy_id = tt.term_taxonomy_id AND tt.taxonomy ='%s' ", $post_type, $taxonomy ) ); // here you are $terms = get_terms( $taxonomy, array( 'include' => $terms_ids, 'orderby' => 'name', 'order' => 'ASC' ) ); 

Он получит ваши теги для определенного пользовательского типа сообщения. Тогда вы можете сделать:

 foreach( $terms as $tag ) { echo '<li class="type-tag">' . $tag->name . '</li>'; } 

для отображения ваших тегов в списке.