web-dev-qa-db-fra.com

Comment afficher the_tags () en texte brut

the_tags s'affiche par défaut en tant qu'URL. Je dois l'afficher sous forme de texte brut à insérer dans l'attribut HTML.

<?php 
    $tag = the_tags('');
?>

<div class="image-portfolio" data-section="<?php echo $tag ?>">
3
Viktor

Je suis heureux que vous ayez compris, mais vous trouverez ci-dessous une modification sémantique rapide (échanger votre utilisation de $tag singular et de $tags pluriel l'aidera à lire plus fidèlement ce qu'il est en train de faire; ce n'est pas différent sur le plan fonctionnel).

J'ai également ajouté des cas à l'intérieur et à l'extérieur de la boucle, ainsi qu'un conditionnel pour que vous n'essayiez pas de chercher une boucle quand il n'y a pas de balises.

Commenté:

//We are inside the Loop here. Other wise we must pass an ID to get_the_tags()

    //returns array of objects
    $tags = get_the_tags();

    //make sure we have some
    if ($tags) {

        //foreach entry in array of tags, access the tag object
        foreach( $tags as $tag ) {

           //echo the name field from the tag object 
           echo $tag->name;
        }
    }

Boucle intérieure

    $tags = get_the_tags();

    if ($tags) {

        foreach( $tags as $tag ) {

            echo $tag->name;
        }
    }

Boucle extérieure:

    $id = '10';

    $tags = get_the_tags( $id );

    if ($tags) {

        foreach( $tags as $tag ) {

            echo $tag->name;
        }
    }

Plus loin

Dans la boucle , get_the_tags() utilise l'identifiant de publication actuel. En dehors de la boucle, vous devez lui donner un identifiant. Dans les deux cas, il retourne un tableau sur WP_TERM objets pour chaque terme associé à la publication correspondante.

[0] => WP_Term Object
    (
        [term_id] => 
        [name] => 
        [slug] => 
        [term_group] => 
        [term_taxonomy_id] => 
        [taxonomy] => post_tag
        [description] => 
        [parent] => 
        [count] => 
    )

Vous pouvez accéder à chaque valeur de la même manière que ci-dessus, à savoir:

    $tags = get_the_tags(); 
    if ($tags) {
        foreach( $tags as $tag ) {

            echo $tag->term_id;
            echo $tag->name;
            echo $tag->slug;
            echo $tag->term_group;
            echo $tag->term_taxonomy_id;
            echo $tag->taxonomy;
            echo $tag->description;
            echo $tag->parent;
            echo $tag->count;
        }
    }
3
hwl

Ok je le découvre

$tag = get_the_tags();
foreach($tag as $tags) {
    echo $tags->name;
}
1
Viktor

J'adore les codes à une seule ligne, n'est-ce pas?

<?php echo implode(' ,' wp_get_post_tags( get_the_ID(), array('fields' => 'names') ) ); ?>
1
Jack Johansson

Cela affichera les balises sous forme de chaîne séparée par des virgules:

echo join(', ', array_map(function($t) { return $t->name; }, get_the_tags()));
0
strikemike2k