【スポンサーリンク】

[PHP] タグ一覧に件数を追加する(Cocoon)

[PHP] タグ一覧に件数を追加する(Cocoon)

ショートコードで表示している、ブログの記事のタグ一覧に、「件数」を追加しました。

「タグリンク」をタップしても表示される記事が少ないと、別のタグを探し直さないといけないからです。

クリック率向上のために!WordPressで「タグ一覧」に「記事数」を追加する方法」のコードを元に、ショートコード用関数にするために echo の部分を return にして、文字列を返すようにします。

// the_tags_with_count() の末尾
echo $before . join( $sep, $tag_links) . $after;

また、$tag_links[] で追加するテキストを、Cocoonのタグ一覧と同じデザインになるように、$tags を元にdiv要素にクラス設定もしました。

// get_the_tag_links() の$tags生成部分
$tags .= '<a class="tag-link tag-link-'.$tag->term_id.' border-element" href="'.get_tag_link( $tag->term_id ).'"><span class="fa fa-tag tag-icon tax-icon" aria-hidden="true"></span>'.$tag->name.'</a>';

完成したのがこちら。

/** タグ一覧に件数を追加する 2023-05-21
 * */
function get_the_tags_with_count( $before = '', $sep = '', $after = '') {
    $posttags = get_the_tags();
 
    if(!$posttags) return false; 
    
    foreach($posttags as $tag) {
        $link = get_tag_link( $tag->term_id);
        if ( is_wp_error( $link ) )
            return $link;
		$tag_links[] =  '<a class="tag-link tag-link-'.$tag->term_id.' border-element" href="'.esc_url( $link ).'"><span class="fa fa-tag tag-icon tax-icon" aria-hidden="true"></span> '.$tag->name . '(' . $tag->count . ')' .'</a>';
    }
    $tag_links = apply_filters( "term_links-$taxonomy", $tag_links );
    return $before . join( $sep, $tag_links) . $after; 
}

/** タグのショートコードを作る*/
function generate_tags( $atts ) {
        return get_the_tags_with_count();
}
add_shortcode( 'tags', 'generate_tags' );

これを functions.php に追加すると、ショートコードに tags と入力すると件数付きのタグ一覧が表示されます。

こちらもどうぞ。

[Cocoon] 記事のタグをサイドバーに表示した(タグクラウドではない)
[Cocoon] 記事のタグをサイドバーに表示した(タグクラウドではない)
ブログのサイドバーの項目を見直してみました。 WordPressのサイドバーに記事のタグを追加した カスタム検索とナビゲーションメニューの間に、・リンク・目次・タグ・関連記事を追加しました。 とくに、記事のタグを追加するのが、大変だったのでメモします。 「タグ」を表示する 今回、サイドバーにタグを設置しようと思ったのは、検索が面倒な人に関連記事を探しやすくしたいからです。 Cocoonテーマでは、記事のタイトル上下や本文下には、「タグ」を表示することができます。 Cocoon...
[Cocoon] 記事の関連タグをサイドバーに表示した・その2(ショートコードにできた)
[Cocoon] 記事の関連タグをサイドバーに表示した・その2(ショートコードにできた)
結論としては、the_tag_links() ではなく、get_the_tag_links()を呼べばよかっただけでした。 以前の方法の問題点 以前、記事の関連タグをサイドバーに表示するときに、ショートコードにできず、テキストウィジェットでPHPコードを実行する、という方法でむりやり解決していました。 ただし、この方法はウィジェットを確認するたびに、ビジュアル表示になって「コードが評価」されててまうため、作り直しが必要でした。 ウィジェットを確認するだけで壊れてしまうのです…...
QRコードを読み込むと、関連記事を確認できます。

[PHP] タグ一覧に件数を追加する(Cocoon)
【スポンサーリンク】
タイトルとURLをコピーしました