Я хотел бы изменить сортировку продуктов на странице магазина на фильтр категорий продуктов, где пользователь может выбрать просмотр продуктов категорий оттуда.

Я новичок в программировании. Я проверил каталог WooCommerce, чтобы найти файл .php, над которым я должен работать. Я понял, что он находится в archive-product.php, но я не вижу кода, который отображает раскрывающийся список сортировки.

Может ли кто-нибудь дать мне ключ к этому? Или есть обходной путь? Благодарю.

0
CK Tan 29 Апр 2016 в 13:57

3 ответа

Лучший ответ

Я нашел решение несколько дней назад. Я использую функцию виджета категорий товаров WooCommerce на странице магазина.

Эта строка кода выведет раскрывающийся список категорий продуктов:

<?php the_widget( 'WC_Widget_Product_Categories', 'dropdown=1' ); ?>
0
CK Tan 9 Май 2016 в 03:58

Я добавил это в functions.php :

// remove default sorting dropdown
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );

// now add the new dropdown
add_action( 'woocommerce_before_shop_loop', 'add_product_category_dropdown' );
function add_product_category_dropdown(){
	print '<span class="woocommerce-ordering">'; // So it takes the same position as the default dropdown 
	the_widget( 'WC_Widget_Product_Categories', 'dropdown=1' );
	print '</span>';
}
2
Sami 3 Дек 2016 в 11:14

Причина, по которой вы не увидите код, заключается в том, что большая часть того, что создается Woocommerce, обрабатывается действиями и хуками. Проще говоря, это означает, что Woocommerce создает функции, которые распределяют контент и назначают их различным областям веб-сайта. (Подробнее о действиях и хуках Woocommerce читайте здесь - https://docs.woothemes.com/document/introduction-to-hooks-actions-and-filters/)

Я бы рекомендовал использовать плагин ниже. Он делает именно то, о чем вы, кажется, просите, и вы можете избежать необходимости играть роли, которые вам, возможно, еще не нравятся.

https://wordpress.org/plugins/yith-woocommerce-ajax-navigation/

Самое удивительное, что это не один из тех плагинов, которые заставляют вас получать премию, чтобы на самом деле получить желаемый эффект.

1
scottdurban 29 Апр 2016 в 12:09