get_the_term_list sans liens dans 3.1

13

Quelle fonction affichera les taxonomies personnalisées associées à un message sous forme de texte?

J'utilise actuellement get_the_term_list qui fonctionne très bien pour une page singulière mais pas tellement lorsque j'utilise une taxonomie dans la balise de titre permalink archive-postype.php.

m-torin
la source

Réponses:

15

wp_get_object_terms () renvoie les termes associés à un objet (par exemple une publication ou une page ou une publication personnalisée) sous forme de texte (normalement dans un tableau).

Depuis la page Codex pour wp_get_object_terms ()

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

anu
la source
Gardez à l'esprit que les résultats de la requête ne sont pas mis en cache comme get_the_terms(). Voir la page du codex pour plus d'informations.
Dylan
22

Cependant @anu a raison, j'ai compris que vous pouvez appeler la fonction php strip_tags pour supprimer les balises de la valeur de retour.

$terms = get_the_term_list( $post->ID, 'tags' );
$terms = strip_tags( $terms );
Zack
la source
Semble si simple et fait le travail. Y a-t-il un inconvénient à utiliser cela?
Mohsin
@Mohsin Un inconvénient est qu'il supprime toutes les balises, pas seulement la balise <a>. Cependant, vous pouvez empêcher la suppression des balises souhaitées, comme ceci:$terms = strip_tags( $terms, '<li>' );
David
0

J'ai besoin de la même solution Zack et essayée qui fonctionne très bien. Par exemple, si vous avez seulement besoin du terme pour mettre en css id ou class. Une seule annotation sur la solution, la fonction est mal appelée, correctement "get_the_term_list".

Je montre mon exemple:

$terms = get_the_term_list( $post->ID, 'your_taxonomy_name' );
$terms = strip_tags( $terms );
Débutant Wordpress
la source
0
$terms = wp_list_pluck( get_the_terms( get_the_ID(), 'your_taxonomy' ), 'name');

Ici, $ terms est un tableau, vous pouvez donc utiliser une boucle foreach.

foreach( $terms as $term ) {
  echo $term;
}
Razor Khan
la source