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.

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');


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 );

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 );

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;
}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.