Intereting Posts
порядок несколькими мета ключами в pre_get_posts Связывание двух настраиваемых типов сообщений Добавление слайдера изображения карусели в Woo Canvas Theme на странице сообщений Возможно ли повторное использование всплывающих окон изображения? Значение захвата excerpt_length Как бороться с комментариями спама и отличать их от комментариев, не связанных со спамом? Предотвращение добавления дублирующихся страниц Ошибка обновления обновления: Примечание: Неопределенный индекс Как реализовать администратор Ajax внутри администратора WP_List_Table? Контактная форма 7 динамическое расширение текста – заполнение формы с заголовком с предыдущей страницы WooCommerce печатать подкатегорию продукта Выберите «Все» или некоторые элементы на разных страницах для выполнения массовых действий. Как я могу перенаправить на другую страницу с экраном уже в нижней части страницы? Каков наилучший способ хранения данных, созданных пользователем? Автогенерировать правила перезаписи для нескольких таксономий

Как я могу перечислить пользовательские термины таксономии без ссылок?

Я искал по всему миру, чтобы попытаться найти ответ на мой вопрос. Я надеюсь, что смогу получить помощь здесь. Вот оно…

В настоящее время я извлекаю термины моей пользовательской таксономии, используя:

<?php echo get_the_term_list( $post->ID, 'skills', '<ul><li>', '</li><li>', '</li></ul>' ); ?> 

То, что я пытаюсь сделать, – это получить те же самые постконкретные пользовательские термины таксономии в списке без их вывода в виде ссылок. Я пробовал все следующие «решения», но никто из них не работает. Любая помощь будет оценена по достоинству.

Возвращает постконкретные термины в одной длинной строке, которые нельзя поместить в список:

 $terms_as_text = get_the_term_list( $post->ID, 'skills', '<ul><li>', '</li><li>', '</li></ul>' ) ; echo strip_tags($terms_as_text); 

Возвращает список всех терминов, используемых во всех настраиваемых типах сообщений:

 <ul> <?php $args = array( 'taxonomy' => 'skills', 'orderby' => 'ID', 'order' => 'ASC' ); $categories = get_categories( $args ); foreach($categories as $category) { echo '<li> '. $category->name . '</li>'; } ?> </ul> 

Не возвращает ничего:

 <?php $args = array('orderby' => 'name', 'order' => 'ASC', 'fields' => 'all'); wp_get_object_terms( $post->ID, $skills, $args ); ?> 

Я даже попробовал get_the_terms , get_terms и get_categories безрезультатно.

Можете попробовать:

 $terms = get_the_terms ($post->id, 'skills'); if ( !is_wp_error($terms)) : ?> <?php $skills_links = wp_list_pluck($terms, 'name'); $skills_yo = implode(", ", $skills_links); ?> <span><?php echo $skills_yo; ?></span> 
 $terms = wp_get_post_terms($post->ID, 'TAXONOMYNAME'); $count = count($terms); if ( $count > 0 ) { foreach ( $terms as $term ) { echo $term->name . ", "; } } 

Если вам просто нужны условия, назначенные для определенной должности:

 <?php $object_terms = wp_get_object_terms( $post_id, 'skills', array( 'fields' => 'names' ) ); if ( $object_terms ) { ?><ul><li><?php echo implode( '</li><li>', $object_terms ); ?></li></ul><?php } ?> 

Если вы хотите ВСЕ УСЛОВИЯ:

 <?php $all_terms = get_terms( 'skills', array( 'fields' => 'names' ) ); if ( $all_terms ) { ?><ul><li><?php echo implode( '</li><li>', $all_terms ); ?></li></ul><?php } ?> 

Вчера я столкнулся с подобной проблемой и придумал следующее решение:

 function taxonomy_list( $taxonomy ) { $args = array('order'=>'ASC','hide_empty'=>false); $terms = get_terms( $taxonomy, $args ); if ( $terms ) { printf( '<ul name="%s">', esc_attr( $taxonomy ) ); foreach ( $terms as $term ) { printf( '<li>%s</li>', esc_html( $term->name ) ); } print( '</ul>' ); } } 

Затем просто вставьте <?php taxonomy_list( 'TAXONOMY ID' ); ?> <?php taxonomy_list( 'TAXONOMY ID' ); ?> в вашем файле шаблона, заменив TAXONOMY ID любым именем таксономии.

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

 function term_clean($postid, $term) { $terms = get_the_terms($postid, $term); foreach ($terms as $term) { echo $term->name; }; } 
 // to display taxonomy terms without links: separated with commas // copy this code in your function.php function get_taxonony_toDisplay($post_id, $taxonomy_name) { $terms = wp_get_post_terms($post_id, $taxonomy_name); $count = count($terms); if ( $count > 0 ) { foreach ( $terms as $term ) { echo $term->name . ", "; } } } 

Поскольку мне пришлось отображать 3 таксономии, разделенных запятыми, поэтому я сделал функцию с использованием кода Генри.

Для отображения используйте следующую строку:

 <?php get_taxonony_toDisplay($post->ID, 'your_taxonomy_name' ); ?> 

Просто используйте strip_tags

 <?php echo strip_tags(get_the_term_list( $post->ID, 'CUSTOM-TAXONOMY', ' ',', ')); ?> 

Если вы хотите, чтобы термины, упорядоченные с помощью slug, а не name, затем используйте это …

 <?php if(has_term('', 'CUSTOM-TAX')) {?> <?php $custom_terms = get_the_terms( get_the_ID(), 'CUSTOM-TAX' ); // Make sure we have terms and also check for WP_Error object if ( $product_terms && !is_wp_error( $product_terms ) ) { @usort( $product_terms, function ( $a, $b ) { return strcasecmp( $a->slug, $b->slug ); }); // Display your terms as normal $term_list = []; foreach ( $custom_terms as $term ) //$term_list[] = esc_html( $term->name ); // comment this line out if you want the terms linked and visa versa $term_list[] = '<a href="' . get_term_link( $term ) . '">' . esc_html( $term->name ) . '</a>'; // comment this line out if you DON'T want the terms linked and visa versa echo implode( ', ', $term_list ); } ?> <?php } else { ?><?php }?>