Как я могу сделать мой вывод сказать тип, а не типы, если show_count меньше, чем 2 в WordPress
Так что я использую 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"
,
Просто очень трудно дать это условно.
1 ответ
Не уверен в структуре $links, но вы можете использовать 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;
}