デフォルトでthe_tags
はURLとして表示されています。 HTML属性の中に挿入するにはプレーンテキストとして表示する必要があります。
<?php
$tag = the_tags('');
?>
<div class="image-portfolio" data-section="<?php echo $tag ?>">
私はあなたがそれを理解したことを嬉しく思いますが、以下は素早い意味の変更です($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;
}
}
わかりました
$tag = get_the_tags();
foreach($tag as $tags) {
echo $tags->name;
}
単一行コードが大好きですよね。
<?php echo implode(' ,' wp_get_post_tags( get_the_ID(), array('fields' => 'names') ) ); ?>
これはタグをカンマスペースで区切られた文字列として表示します。
echo join(', ', array_map(function($t) { return $t->name; }, get_the_tags()));