按管理部分按类别顺序划分的Woocommerce订单类别

时间:2014-10-02 08:27:37

标签: 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 );

我尝试了几种不同的orderby变体,但无法获得与管理界面完全相同的顺序。订购数据似乎存储在?? __ woocommerce_termmeta表中,并带有' meta_key' ' order'。

任何建议都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:4)

product_cat分类法的情况下,似乎WooCommerce已经在更改查询。例如:

$args = array(
    'parent'        => 0,
    'taxonomy'      => 'product_cat'
);

$categories = get_categories( $args );

执行的查询将如下所示:

  

SELECT 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')   在哪里tt.taxonomy IN('product_cat')和tt.parent ='0'ORDER BY   tm.meta_value + 0 ASC,t.name ASC

类别的采用顺序与管理部分相同。