get_the_term_list без ссылок в 3,1

Какая функция отобразит пользовательский taxonomies, связанный с сообщением как текст?

Я в настоящее время использую get_the_term_list, который работает отлично для исключительной страницы, но не так при использовании таксономии в теге заголовка постоянной ссылки архива-postype.php.

13
01.02.2011, 16:28
4 ответа

wp_get_object_terms () возвращает условия, связанные с объектом (например, сообщение или страница или пользовательское сообщение) как текст (обычно в массиве).

От страницы Codex для wp_get_object_terms ()

$productcategories = wp_get_object_terms($post->ID, 'productcategories');

15
19.02.2020, 21:59
  • 1
    Следует иметь в виду, что результаты запроса не кэшируются как get_the_terms(). Посмотрите страницу кодекса для информационного –  Dylan 08.09.2016, 07:25

Однако @anu является правильным, я выяснил, что можно вызвать php функцию strip_tags для разделения тегов возвращаемого значения.

$terms = get_the_term_list( $post->ID, 'tags' );
$terms = strip_tags( $terms );
22
19.02.2020, 21:59
  • 1
    Взгляды, настолько простые и, делают задание. Там какая-либо оборотная сторона использует это? –  Mohsin 03.01.2017, 15:11
  • 2
    @Mohsin, который Одна оборотная сторона - то, что он разделяет все теги, не только <a> тег. Однако можно препятствовать тому, чтобы желаемые теги были разделены, как так: $terms = strip_tags( $terms, '<li>' ); –  David 06.12.2017, 10:20

Я думаю, что лучший способ состоит в том, чтобы реализовать фильтр для термина список, то извлечение через regexp только текст, из списка

get_the_terms_list () реализован здесь: http://core.trac.wordpress.org/browser/tags/3.0.4/wp-includes/category-template.php#L948.

 $term_links = apply_filters( "term_links-$taxonomy", $term_links );

Можно реализовать Вас собственный фильтр.

2
19.02.2020, 21:59

Я нуждаюсь тот же и попробовал решение Zack, которое работает отлично. Например, если Вам нужен onlye термин, чтобы вставить идентификатор CSS или класс. Только одна аннотация о решении, функция плохо вызвана, правильно является "get_the_term_list".

Я показываю свой пример:

$terms = get_the_term_list( $post->ID, 'your_taxonomy_name' );
$terms = strip_tags( $terms );
0
19.02.2020, 21:59

Теги

Похожие вопросы