久しぶりの投稿です。お盆中にブログのWordPressテーマの変更をしようとした際、アーカイブの一覧表示辺りで躓くことがあったのでその共有です。
$args = [
'show_post_count' => 1,
];
wp_get_archives($args);
上のコードはアーカイブ一覧を表示するためのコードです。
show_post_count=1で投稿件数も一緒に表示させます。
でもこれで投稿件数も表示させると(1)のように括弧がついてくる、鬱陶しい。
なので、
function filter_archives($link_html, $url, $text, $format, $before, $after)
{
$temp_after = str_replace(' (', '', $after);
$temp_after = str_replace(')', '', $temp_after);
if ('html' === $format) {
$link_html =
'<li class="list-group-item d-flex justify-content-between align-items-start">
<div class="ms-2 me-auto">
<a href="' . $url . '" class="link-dark">' . $text . '</a>
</div>
<span class="badge bg-primary rounded-pill">' . $temp_after . '</span>
</li>';
}
return $link_html;
}
add_filter('get_archives_link', 'filter_archives', 10, 6);
$temp_after = str_replace(' (', '', $after);
$temp_after = str_replace(')', '', $temp_after);
str_replace()で括弧を”に置換する。これでOK。
preg_match()などの正規表現を用いた方法もあるだろうけど、上手くいかなかった。
他の解決方法を見つけたらまた記事にします。
参考:Remove Post Count Parentheses From Widget
https://wordpress.org/support/topic/remove-post-count-parentheses-from-widget/
今月中にブログをテーマを変更する予定です。