web-dev-qa-db-ja.com

The_tags()をプレーンテキストとして表示する方法

デフォルトでthe_tagsはURLとして表示されています。 HTML属性の中に挿入するにはプレーンテキストとして表示する必要があります。

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

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

私はあなたがそれを理解したことを嬉しく思いますが、以下は素早い意味の変更です($tag単数形と$tags複数形の使用を交換することはそれがそれがしていることにより近く読むのに役立ちます;機能的に違いはありません)。

ループの内側と外側、および条件付きのケースも追加したので、タグがないときにループを回避しようとしなくなります。

コメント:

//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;
        }
    }

内側ループ

    $tags = get_the_tags();

    if ($tags) {

        foreach( $tags as $tag ) {

            echo $tag->name;
        }
    }

ループの外側

    $id = '10';

    $tags = get_the_tags( $id );

    if ($tags) {

        foreach( $tags as $tag ) {

            echo $tag->name;
        }
    }

さらに

ループの内側get_the_tags() は現在の投稿IDを使用します。ループの外側では、あなたはそれにIDを渡す必要があります。どちらの方法でも、関連する投稿に関連付けられている各用語について array of WP_TERM objects を返します。

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

各値には上記と同じ方法でアクセスできます。

    $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

わかりました

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

単一行コードが大好きですよね。

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

これはタグをカンマスペースで区切られた文字列として表示します。

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