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