ddimonn8080
@ddimonn8080

Почему неправильно выводится количество товаров в Woocommerce?

Здравствуйте,
в каталоге товаров (wordpress/woocommerce) вывожу все категории товаров. К каждой категории в скобках должно идти количество товаров в этой категории. При выводе показывает ноль товаров но при переходе по ссылке там много товаров. В чём ошибка?

Спасибо

// вывод всех категорий после @hooked woocommerce_result_count - 20 и @hooked woocommerce_catalog_ordering - 30
// в archive-product.php строка 67
add_action('woocommerce_before_shop_loop', 'dnk_get_all_categories', 40);
function dnk_get_all_categories () {
	$taxonomy     = 'product_cat';
	$orderby      = 'name';  
	$show_count   = 1;      // 1 for yes, 0 for no
	$pad_counts   = 1;      // 1 for yes, 0 for no
	$hierarchical = 1;      // 1 for yes, 0 for no  
	$title        = '';  
	$empty        = 0;

	$args = array(
	         'taxonomy'     => $taxonomy,
	         'orderby'      => $orderby,
	         'show_count'   => $show_count,
	         'pad_counts'   => $pad_counts,
	         'hierarchical' => $hierarchical,
	         'title_li'     => $title,
	         'hide_empty'   => $empty
	);

	$all_categories = get_categories( $args );

	// echo '<pre>';
	// var_dump($all_categories);
	// echo '</pre>';
	echo '<div class="dnk_all_cat_list">';
	foreach ($all_categories as $cat) {
		if($cat->category_parent == 0) {
			$category_id = $cat->term_id;       
			echo '<a class="dnk_cat_link" href="'. get_term_link($cat->slug, 'product_cat') .'">'. $cat->name .' (' . $cat->category_count . ')</a>';
		}       
	}
	echo '</div>';
}
  • Вопрос задан
  • 947 просмотров
Решения вопроса 1
maxxannik
@maxxannik
Сайты на WordPress + Интернет магазины WooCommerce
Птм что у WooCommerce количество продуктов храниться в ином месте. Вроде бы в какой то мете. Надо изучать код.
Вы выводите число постов связанных с термином. Оно зачастую расходится с числом доступных продуктов.
Условно постов в термине может быть 10, это логика WordPress. Но по логике WooCommerce часть продуктов может быть не доступна для заказа, у части нет остатков, часть вне склада и т д - все эти продукты скрываются и считается что их нет в категории. Но при этом пост внутри термина остается на месте.

Если почитать исходники, то станет ясно где он хранит эти данные. Можно посмотреть как типовое дерево категорий строится. Там все правильно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы