Intereting Posts
Неправильная тема и URL-адрес загрузки после миграции Включите сторонние дополнения ACF с темой Отображение пользовательского типа сообщения в алфавитном порядке Удаленный поиск сайтов WordPress с использованием xml-rpc как программно редактировать мета-описание открытого графика и в каком файле Как получить все возможности существующей роли пользователя Как добавить атрибут «data-» к тегу изображения выходного файла галереи Пользовательские типы сообщений и таблица базы данных, где возможно (желательно) желаемое количество (10 000 с +) записей Как я могу отобразить псевдоним вместо имени пользователя в ссылках получить самый старый идентификатор сообщения Как считать мультимедийные вложения? Изменить аргументы для родительской темы `wp_register_style` через дочернюю тему Как добавить контент в подзапрос WordPress, зависящий от его родителя? Различные поля доступны для разных сайтов при настройке меню Не удается получить объект бабушки и дедушки

Отдельная таксономия типа персонализированного сообщения по запятой

Я попытался выяснить, как отделить таксономию типа пользовательских сообщений.

$terms = get_the_terms( $post->ID , array( 'commitments', 'type' ) ); foreach ( $terms as $term ) { $term_link = get_term_link( $term, array( 'commitments', 'type' ) ); if( is_wp_error( $term_link ) ) continue; echo '<a href="' . $term_link . '">' . $term->name . '</a>'; } 

Каждые таксономии показывают правильно. Однако я не могу их разделить в запятую. он показывает «TaxonomyATaxonomyB», но я хочу показать его как «таксономию», «таксономию»,

Как это сделать? или есть ли другой способ?

Благодаря!

Вы можете использовать счетчик, чтобы определить, нужно ли добавлять запятую или нет:

 $terms = get_the_terms( $post->ID , array( 'commitments', 'type' ) ); // init counter $i = 1; foreach ( $terms as $term ) { $term_link = get_term_link( $term, array( 'commitments', 'type' ) ); if( is_wp_error( $term_link ) ) continue; echo '<a href="' . $term_link . '">' . $term->name . '</a>'; // Add comma (except after the last theme) echo ($i < count($terms))? ", " : ""; // Increment counter $i++; } 

Или вы можете использовать функцию get_the_term_list .

 <?php echo get_the_term_list( $post->ID, 'commitments', '', ', ' ); ?> 

Самый чистый способ (IMO), чтобы сделать что-либо подобное в PHP, – это построить массив, а затем взорвать его:

 $list = []; foreach ( $terms as $term ) { $term_link = get_term_link( $term /* no need for taxonomy arg if $term is an object */ ); if ( ! is_wp_error( $term_link ) ) $list[] = $term_link; } echo implode( ', ', $list );