Intereting Posts
Невозможно отобразить несколько типов сообщений в одном запросе (WPML WP_Query) Почему мои сообщения / страницы не отображаются в моей теме WordPress? Попытка загрузить различные сили для страницы 404.php загрузил изображение wp_insert_attachment, но его миниатюра не появится в Media Library Как показать статический placeholder, когда меньше элементов сообщения на странице архива? Добавить «последний» класс во второй пост в избранном цикле сообщений Добавить диаграмму google org на страницу wordpress Автосохранение в WordPress Сохранить метаданные как временную метку, отобразить как «красивую» дату Как исключить конкретный шаблон из кэша CDN Как начать обучение CSS и разработке тем? Разбивка на пользовательскую таксономию Условные обозначения, если существуют теги? Как получить постоянную ссылку для персонализированного сообщения в другом cpt? почему эти правила rewrite_tags и правила не работают?

Получить условия пользовательской таксономии для конкретного автора в шаблоне автора

Я использую пользовательский тип сообщения на своем веб-сайте и пользовательскую таксономию.

Автор публикует одно или несколько терминов перед публикацией своего сообщения.

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

Приведем следующий пример, если я не объясню свое объяснение:

 if Author-x has published: **post1** with term1 , term2, term3 **post2** with term2, term5 **post3** with term1 then, in Author-x page I will have : term1, term2, term3, term5. 

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

Спасибо за вашу обычную помощь.

Сначала получите список сообщений автора, затем зациклируйте на каждый пост и получите термины, используемые ex:

 function list_author_used_terms($author_id){ // get the author's posts $posts = get_posts( array('post_type' => 'custom_post_type_name', 'posts_per_page' => -1, 'author' => $author_id) ); $author_terms = array(); //loop over the posts and collect the terms foreach ($posts as $p) { $terms = wp_get_object_terms( $p->ID, 'taxonomy_name'); foreach ($terms as $t) { $author_terms[] = $t->name; } } return array_unique($author_terms); } //usage echo implode(", ",list_author_used_terms(1));