Так что я использую wp_list_categories
вывести набор списков и show_count
равно true
так что я могу видеть количество сообщений в этой категории.
В любом случае мне удалось использовать этот код в моем functions.php и удалите круглые скобки вокруг моего количества сообщений, оберните это с промежутком и попросите это сказать "Types"
после номера.
Проблема в том, что если мне назначен только 1 пост, то он не должен быть множественным "Types"
, Если он равен менее 2, следует сказать, "Type"
,
Вот мой код, который я использую в своем functions.php для этого:
/**
* filter the wp_list_categories and wrap with <span>
*/
add_action('pre_get_posts', 'mr_modify_archive_taxonomy_query');
$links = add_filter('wp_list_categories', 'cat_count_span');
function cat_count_span($links) {
$links = str_replace('</a> (', '</a> <span class="pull-right">', $links);
$links = str_replace(')', ' Types</span>', $links);
return $links;
}
Мне просто нужно добавить туда условное выражение, определяющее show_count
и пусть это скажет:
if it equals less than 2 echo "Type" else echo "Types"
,
Просто очень трудно дать это условно.
не уверен в структуре $ линков, но вы можете использовать count()
если это индексированный массив для получения количества ссылок, например,
add_filter('wp_list_categories', 'cat_count_span');
function cat_count_span($links) {
$needle ="<li"; // e.g. <li> <a etc.
$count= substr_count($links, $needle);
$word= 'Types';
if($count==1) $word= 'Type';
$links = str_replace('</a> (', '</a> <span class="pull-right">', $links);
$links = str_replace(')', $word.'</span>', $links);
return $links;
}
Других решений пока нет …