3.1'de bağlantı olmadan get_the_term_list


13

Bir gönderiyle ilişkilendirilmiş özel sınıflandırmaları hangi işlev olarak metin olarak görüntüler?

Şu anda tek bir sayfa için harika çalışan get_the_term_list kullanıyorum ama arşiv-postype.php permalink başlık etiketinde bir sınıflandırma kullanırken çok değil.

Yanıtlar:


15

wp_get_object_terms (), bir nesne ile ilişkili terimleri (örneğin bir gönderi veya sayfa veya özel gönderi) metin olarak (normalde bir dizide) döndürür.

Gönderen ) (wp_get_object_terms için Codex sayfa

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


Sorgu sonuçlarının önbelleğe alınmadığını unutmayın get_the_terms(). Bilgi için kodeks sayfasına bakınız .
Dylan

22

Ancak @anu doğru, ben dönüş değerinin etiketleri çıkarmak için php işlevi strip_tags çağırabilirsiniz anladım .

$terms = get_the_term_list( $post->ID, 'tags' );
$terms = strip_tags( $terms );

Çok basit görünüyor ve işi yapıyor. Bunu kullanmanın bir dezavantajı var mı?
Mohsin

@Mohsin Tek dezavantajı, sadece <a> etiketi değil, tüm etiketleri kaldırmasıdır. Ancak, istediğiniz etiketlerin soyulmasını engelleyebilirsiniz, örneğin:$terms = strip_tags( $terms, '<li>' );
David


1
$terms = wp_list_pluck( get_the_terms( get_the_ID(), 'your_taxonomy' ), 'name');

Burada $ terimleri bir dizidir, bu nedenle bir foreach döngüsü kullanabilirsiniz.

foreach( $terms as $term ) {
  echo $term;
}

0

Aynı ihtiyacım var ve harika çalışan Zack çözümünü denedim. Örneğin, css id veya sınıfa girmek için yalnızca terime ihtiyacınız varsa. Çözüm hakkında sadece bir açıklama, işlev kötü denir, düzgün "get_the_term_list" dir.

Örneğimi gösteriyorum:

$terms = get_the_term_list( $post->ID, 'your_taxonomy_name' );
$terms = strip_tags( $terms );
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.