Подсчёт количества постов в 1 рубрике WordPress
Вставил в functions.php вот такой код, чтобы можно потом было вывести шорткод, но он не работает, что пошло не так?
function count_cat_post($category) {
if(is_string($category)) {
$catID = get_cat_ID($category);
}
elseif(is_numeric($category)) {
$catID = $category;
} else {
return 0;
}
$cat = get_category($catID);
return $cat->count;
}
function wp_my_shortcode( $atts ) {
echo count_cat_post('29');
}
add_shortcode( 'my_shortcode_output', 'wp_my_shortcode');
Ответы (1 шт):
Автор решения: Darth KYL
→ Ссылка
В вашей функции count_cat_post есть проверка на переданный параметр если параметр строка то вы ищите id категории через ее название используя функцию get_cat_ID, но так как вы передаете в шорткод id категории то аргумент
функции count_cat_post должен быть типом integer соответственно вместо строки '29' нужно передать число 29, пример ниже:
add_shortcode( 'my_shortcode_output', 'wp_my_shortcode');
function wp_my_shortcode( $atts ) {
return count_cat_post( 29 );
}
echo do_shortcode( '[my_shortcode_output]' );
подробнее о создании шорткодов вы можете прочить по этой сслыке