php - 按当前类别显示 Woocommerce 畅销书
问题描述
我想制作一个短代码,可以放在类别页面上,例如侧边栏。它应该显示该类别的最畅销产品。
我找到的唯一解决方案是,如果我使用 slug 或 id 指定类别,如下所示:
[best_sales_products category=”<strong>KITCHEN-ACCESSORIES” columns="1" per_page="5"]
我怎样才能将简码转换成这样的东西?
[best_sales_products category=”<strong>CURRENT-CATEGORY” columns="1" per_page="5"]
解决方案
$term
在您的活动主题的 functions.php 中添加以下代码片段以从当前或类别页面获取最畅销的产品-
function modify_woocommerce_shortcode_products_query( $query_args, $attributes, $type ) {
if( $type != 'best_selling_products' ) return $query_args;
$term = get_queried_object();
if( $term ) {
if( !isset($query_args['category'] ) ){
$query_args['category'] = $term->slug;
}
}
return $query_args;
}
add_filter( 'woocommerce_shortcode_products_query', 'modify_woocommerce_shortcode_products_query', 99, 3 );
添加只需使用 woocommerce 默认短代码[best_selling_products columns="1" per_page="5"]
即可获取数据。
推荐阅读
- python - python for循环有效且更快的方式
- node.js - MongoServerSelectionError:getaddrinfo ENOTFOUND 944ef754a755
- java - `Advice.WithCustomMapping` 绑定动态添加的字段
- python - Mac OS - Tkinter:动态更改内置关闭按钮的样式
- java - Mysql数据库编码不适用于spring
- android - okhttp3.EventListener 在时间测量方面是否可靠 - 你如何正确测量时间
- python - Python Dataframe 包括列表中的公共点
- pine-script - Pine 编辑器止损或止盈(如果只有多头头寸)
- r - 如何计算 R 中每个主题 ID 的唯一值
- google-apps-script - 记录 Google 表格中某列的数据更改