Mar*_*tin 2 wordpress woocommerce
在 woocommerce 类别屏幕中,您可以拖放类别以更改其顺序。
在“前端”中,我想以相同的顺序列出类别(与 wp-admin 中的产品类别屏幕的拖放相同的自定义顺序)。
$args = array(
'taxonomy' => 'product_cat',
'orderby' => 'term_order',
'order' => 'asc',
'show_count' => 0,
'pad_counts' => 0,
'hierarchical' => 1,
'title_li' => '',
'hide_empty' => 0,
);
$query = new WP_Query( $args );
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的 orderby 变体,但无法获得与管理屏幕完全相同的订单。订购数据似乎存储在 __woocommerce_termmeta 表中,其中“meta_key”为“order”。
任何建议将不胜感激。
谢谢。
看来 WooCommerce 已经在更改product_cat分类法的查询。例如:
$args = array(
'parent' => 0,
'taxonomy' => 'product_cat'
);
$categories = get_categories( $args );
Run Code Online (Sandbox Code Playgroud)
执行的查询将如下所示:
选择t。,TT。, tm.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id LEFT JOIN wp_woocommerce_termmeta AS tm ON (t.term_id = tm.woocommerce_term_id AND tm.meta_key = 'order') WHERE tt.taxonomy IN ( 'product_cat') AND tt.parent = '0' 按 tm.meta_value+0 ASC、t.name ASC 排序
类别的排列顺序与管理部分中的顺序相同。
| 归档时间: |
|
| 查看次数: |
2157 次 |
| 最近记录: |