ワードプレスで最もよく使われているタグ順に出力するPHPコードをご紹介いたします。

ワードプレスのタグクラウドのHTMLコードをタグの使用数順で取得する方法

$tagshtml = wp_tag_cloud(array(
    'echo' => false,
    'orderby' => 'count',
    'order' => 'DESC'
));

上記コードの場合、タグクラウドのHTMLの出力(リンク付き)が$tagshtmlに代入されます。

↓のようなリンクの文字列が取得されます。

<a href=”タグへのリンク” class=”tag-cloud-link tag-link-6 tag-link-position-1″ style=”font-size: 22pt;” aria-label=”タグ名”>タグ名</a>

ワードプレスのタグの配列データをタグの使用数順で取得する方法

この場合のコードは下記のようになります。

$tagsdata = get_terms(array(
    'taxonomy' => 'post_tag',
    'orderby' => 'count',
    'order' => 'DESC',
));

下記のような配列が返されます。

array
0 =>
object(WP_Term)[9750]
public ‘term_id’ => タグのID
public ‘name’ => string ‘タグ名’
public ‘slug’ => string ‘タグのスラッグ’
public ‘term_group’ => int 0
public ‘term_taxonomy_id’ => タグのID
public ‘taxonomy’ => string ‘post_tag’
public ‘description’ => string ”
public ‘parent’ => int 0
public ‘count’ => タグの使用数
public ‘filter’ => string ‘raw’

foreachでこのタグデータの配列を出力するサンプルコードは下記です。

foreach ($tagsdata as $tag){
 echo "タグのID ".$tag->term_id;
 echo "タグ名 ".$tag->name;
 echo "タグリンク ".site_url()."/tag/".$tag->slug;
 echo "タグの使用数 ".$tag->count;
}

ワードプレスのタグのアクセス数順(人気順)で取得する

ワードプレスには、アクセス数を記録する仕組みがもともとなく、タグの人気順での表示は本体の機能では実現できません。

この為、この機能をphpプログラミングで実装することになるかと存じます。
手順としては下記のような実装が考えられます。

1 ページのアクセス時にそのページに含まれているタグを全部取得してタグごとのアクセス数をデータベースに記録
2 そのアクセスカウントを取得して大きい淳に並び替えてタグクラウドを出力する

WordPress ワードプレスのテーマやプラグインの機能の追加や修正・カスタマイズのご依頼・ご相談はWPドクターまでお気軽にお送りください