【スポンサーリンク】

[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 と入力すると件数付きのタグ一覧が表示されます。

QRコードを読み込むと、関連記事を確認できます。
[PHP] タグ一覧に件数を追加する(Cocoon)
【スポンサーリンク】
タイトルとURLをコピーしました