get_the_term_list() WP 2.5.0

Виводить список посилань на елементи таксономії (наприклад, мітки), що належать до певної посади.

Функцію можна використовувати всередині Цикл WordPress, наприклад, для того, щоб через кому вивести мітки кожного посту.

Замість стандартних позначок можна виводити елементи довільних таксономій.

Працює на основі:
get_the_terms()
Основа для:
get_the_tag_list() ,
the_terms()
1 раз – 0.004471 сек
(дуже повільно) | 50000 разів – 5.31 сек
(швидко) |
PHP 7.1.2, WP 4.7.3

Повертає

Строку|false|WP_Error.

  • Строка– Список елементів таксономії у вигляді посилань на відповідні сторінки архівів.

  • false– Якщо не вдалося отримати елементи таксономії.

  • WP_Error — якщо не вдалося отримати посилання на будь-який із отриманих елементів таксономії. Це рідкісний випадок і пов’язаний із помилкою у структурі WordPress.

Використання

get_the_term_list($id, $taxonomy, $before, $sep, $after);
$id
(число/WP_Post) (обов’язковий)
ID посту, елементи таксономії якого потрібно отримати.
$taxonomy
(рядок) (обов’язковий)
Назву таксономії, елементи якої потрібно отримати.
$before
(рядок)
Текст, який буде відображено перед списком.


За замовчуванням: ”
$sep
(рядок)
Текст-розділювач, який буде показаний між елементами, що виводяться (тегами).


За замовчуванням: ”
$after
(рядок)
Замикаючий текст (текст наприкінці списку).


За замовчуванням: ”

Приклади

0

#1 Список елементів таксономії

Такий код можна використовувати всередині Цикл WordPress, щоб вивести на екран елементи (мітки) таксономії “heroes” для кожного посту:

<?php echo get_the_term_list( $post->ID, 'people', 'Знаменитості: ', ',', '' ); ?>

В результаті ми отримаємо приблизно наступний список для кожного посту:

Знаменитості:
<a href="person1">Емінем</a>,
<a href="person2">Дуейн Джонсон</a>,
...
0

#2 Отримаємо UL список

Приклад показує, як вивести елементи таксономії stylesу вигляді маркованого
(ненумерованого) списку.

echo get_the_term_list( $post->ID, 'styles', '<ul class="styles"><li>', ',</li><li>', '</li></ul>' );

Отримаємо:

<ul class="styles">
	<li><a href="person1">Style 1</a>,</li>
	<li><a href="person2">Style 2</a></li>
</ul>

список змін

З версії 2.5.0Введено.

Код get_the_term_list() WP 6.0.2

function get_the_term_list( $post_id, $taxonomy, $before = '', $sep = '', $after = '' ) {
	$terms = get_the_terms($post_id, $taxonomy);

	if ( is_wp_error( $terms ) ) {
		return $terms;
	}

	if ( empty( $terms ) ) {
		return false;
	}

	$links = array();

	foreach ( $terms as $term ) {
		$link = get_term_link($term, $taxonomy);
		if ( is_wp_error( $link ) ) {
			return $link;
		}
		$links[] = '<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
	}

	/**
	 * Filters the term links for given taxonomy.
	 *
	 * The dynamic portion of hook name, `$taxonomy`, refers
	 * до taxonomy slug.
	 *
	 * Possible hook names include:
	 *
	 * - `term_links-category`
	 * - `term_links-post_tag`
	 * - `term_links-post_format`
	 *
	 * @ Since 2.5.0
	 *
	 * @param string[] $links На array of term links.
	 */
	$term_links = apply_filters("term_links-{$taxonomy}", $links); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores

	return $before . implode($sep, $term_links). $ after;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *