【发布时间】:2016-04-29 10:57:51
【问题描述】:
我想将商店页面上的产品排序修改为产品类别过滤器,用户可以从中选择浏览类别的产品。
我是编程新手。我检查了 WooCommerce 目录以找到我应该处理的 .php 文件。我得到了一些线索,它位于 archive-product.php 中,但我没有看到显示排序下拉列表的代码。
谁能给我一些线索来实现这一点?或者有什么解决方法吗?谢谢。
【问题讨论】:
标签: wordpress woocommerce
我想将商店页面上的产品排序修改为产品类别过滤器,用户可以从中选择浏览类别的产品。
我是编程新手。我检查了 WooCommerce 目录以找到我应该处理的 .php 文件。我得到了一些线索,它位于 archive-product.php 中,但我没有看到显示排序下拉列表的代码。
谁能给我一些线索来实现这一点?或者有什么解决方法吗?谢谢。
【问题讨论】:
标签: wordpress woocommerce
我在 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>';
}
【讨论】:
您看不到代码的原因是 Woocommerce 生成的大部分内容都是由操作和挂钩处理的。简而言之,这意味着 Woocommerce 创建了吐出内容并将其分配到网站不同区域的功能。(有关 Woocommerce 操作和挂钩的更多信息,请阅读此处 - https://docs.woothemes.com/document/introduction-to-hooks-actions-and-filters/)
我建议使用下面的插件。它完全符合您的要求,并且您可以避免玩您可能还不习惯的部分。
https://wordpress.org/plugins/yith-woocommerce-ajax-navigation/
最棒的是,它不是那些强迫您获得溢价以实际获得所需效果的插件之一。
【讨论】:
我几天前刚刚找到了解决方案。我在商店页面上使用 WooCommerce 产品类别小部件的功能。
这行代码会输出产品类别的下拉列表:
<?php the_widget( 'WC_Widget_Product_Categories', 'dropdown=1' ); ?>
【讨论】: