#woocommerce #categories
#woocommerce #Категории
Вопрос:
Я использую этот короткий код для отображения подкатегорий, и он работает нормально.
Но я хотел бы скрыть пустые категории, а hide_empty не работает.
function woocommerce_subcats_by_id( $atts ) {
extract( shortcode_atts( array(
'parent_cat_id' => '',
), $atts ) );
$idbyid = get_term_by('id', $parent_cat_id, 'product_cat');
$product_cat_ID = $idbyid->term_id;
$args = array(
'taxonomy' => 'product_cat',
'child_of' => $product_cat_ID,
'hide_empty' => true
);
$subcats = get_terms($args);
$content = '<ul class="woodmart-woocommerce-layered-nav">';
foreach ($subcats as $sc) {
$link = get_term_link( $sc->slug, $sc->taxonomy );
$content .= '<li class="woodmart-woocommerce-layered-nav"><a class="layered-nav-link" href="'. $link .'"><span class="swatch-inner"><span class="layer-term-name">'.$sc->name.'</span></span></a></li>';
}
$content .= '</ul>';
return $content;
}
add_shortcode( 'show_sub', 'woocommerce_subcats_by_id' );
Ответ №1:
Хотя вы не написали начало своей функции. Я предполагаю, что это так
function woocommerce_subcats_by_id($atts){
extract( shortcode_atts( array(
'parent_cat_id' => '',
), $atts ) );
$idbyid = get_term_by('id', $parent_cat_id, 'product_cat');
$product_cat_ID = $idbyid->term_id;
$args = array(
'taxonomy' => 'product_cat',
'child_of' => $product_cat_ID,
'hide_empty' => true
);
$subcats = get_terms($args);
$content = '<ul class="woodmart-woocommerce-layered-nav">';
foreach ($subcats as $sc) {
$link = get_term_link( $sc->slug, $sc->taxonomy );
$content .= '<li class="woodmart-woocommerce-layered-nav"><a class="layered-nav-link" href="'. $link .'"><span class="swatch-inner"><span class="layer-term-name">'.$sc->name.'</span></span></a></li>';
}
$content .= '</ul>';
return $content;
}
add_shortcode( 'show_sub', 'woocommerce_subcats_by_id' );
И он скрывает пустые категории.
Комментарии:
1. Привет @Unce Все еще не скрывает пустые категории. Я думаю, что забыл вставить функцию в свой первый пост.
2. Привет, не могли бы вы отредактировать свой пост, чтобы он включал начало функции. Также может быть, что у вас включен другой плагин, который фильтрует ваш запрос.
3. Я пытался отключить все плагины и использовал тему по умолчанию, но она продолжает показывать пустые подкатегории. Может быть, мне нужно где-то разместить СЧЕТЧИК в коде?
($subcats->count > 0)
4. Вы уверены, что ваши категории пусты?
5. Да, у нас есть пара пустых категорий. Но они отображаются:-(