wordpress:wp_list_categories order by根本不起作用

时间:2012-11-30 20:07:56

标签: wordpress wp-list-categories jigoshop

上下文:使用带有jigoshop插件的Wordpress

我正在使用wp_list_categories来使产品类别​​运行良好并带来所需的列表。唯一的问题是类别的排序。我使用了几个orderby选项(名称,ID,slug),但列表顺序仍然保持不变如下:

工具&刷 卸妆液&底漆 粉末 嘴唇 荧光笔 基础 眼睛 遮瑕 古铜色 腮红

jigoshop小部件包含以下代码:

$args = array(
    'orderby'       => 'name',
    'show_count'    => $count,
    'hierarchical'  => $is_hierarchial,
    'taxonomy'      => 'product_cat',
    'title_li'      => null,
);
wp_list_categories(apply_filters('widget_product_categories_args', $args));

我将通过添加过滤器替换它:

add_filter('widget_product_categories_args','myFun');
function myFun($out){
    .......
    .......
    $args = array(
    'orderby'            => 'name',
    'order'              => 'ASC',
    'style'              => 'list',
    'show_count'         => 0,
    'hide_empty'         => 0,
    'child_of'           => $topMostParent,
    'hierarchical'       => 1,
    'title_li'           => '',
    'current_category'   => $cur_cat,
    'taxonomy'           => $taxonomyName,
);  
return $args;
}

我尝试过停用其他插件,但对结果没有影响。请帮忙。 感谢。

1 个答案:

答案 0 :(得分:1)

最有可能的是,
在某处,另一个过滤器正在改变这些参数 按顺序执行:

  • get_categories_taxonomy
  • get_terms_args
  • get_terms
  • get_terms_orderby < - 最有可能?
  • list_terms_exclusions
  • get_terms_fields
  • terms_clauses
  • get_terms (再次)
  • get_terms (再次)
  • wp_list_categories

这些功能分为3个主要功能(可能影响结果的功能)

  • wp_list_categories
    • get_categories
      • get_terms

我建议从get_terms_orderby过滤器开始。

如果这不起作用,我会尝试使用函数get_terms 这样你至少可以知道它出错的程度。

希望这有帮助,让我知道;)