【PHP】WordPressタグ操作方法まとめ【取得・更新】

php WordPress
この記事は約3分で読めます。

WordPressのタグ操作方法をまとめました。

スポンサーリンク

get tags:すべてのタグを取得する

<?php $tags = get_tags() ?>
スポンサーリンク

get the tags :記事内のタグを取得する

<?php $tags = get_the_tags(); ?>
スポンサーリンク

get_term_by:タグ名からポストタグ(Term)を取得する

<?php $tag = get_term_by('name', $tag_name, 'post_tag'); ?>
スポンサーリンク

get tag link:タグのリンクを取得する

<a href="<?php echo get_tag_link($tag_id); ?>">タグ名</a>

get tags関数と組み合わせる場合

<?php
$tags = get_tags();
$html = '<div class="post_tags">';
foreach ( $tags as $tag ) {
	$tag_link = get_tag_link( $tag->term_id );
			
	$html .= "<a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}'>";
	$html .= "{$tag->name}</a>";
}
$html .= '</div>';
echo $html;
?>
スポンサーリンク

wp set post tags:投稿にタグをつける

$appendは初期値がfalseなので、明示的にTrueを指定しなければ、最後の関数で渡した$tagsに更新します。foreachなどのループで使う場合は$appendにTrueを渡すようにしましょう。

<?php wp_set_post_tags( $post_ID, $tags, $append ) ?>
スポンサーリンク

【応用】すべてのタグの中から本文に含まれているタグを自動的に保存する

タグ名が含まれるかと本文を小文字に変換した後にタグスラッグが含まれるかを判定してタグの追加をしています。

$content = get_post($post_id)->post_content;
$tags = get_tags();
foreach ($tags as $tag){
	if (strpos($content,$tag->name) !== false || strpos(mb_strtolower($content, 'UTF-8'),$tag->slug) !== false) {
		wp_set_post_tags($post_id, $tag->name, true);
	}
}
この記事を書いた人
サイト運営者
Ryu
Ryu

フリーランスエンジニア。転職含め9社経験。第二新卒から未経験でIT就職。社内SEとSIerのSEで働き、企画〜運用保守、フロント〜バック・インフラとフルスタックな守備範囲。C#とSQLとSalesforceが得意。

Ryuをフォローする
WordPress
スポンサーリンク