上下文:使用带有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;
}
我尝试过停用其他插件,但对结果没有影响。请帮忙。 感谢。
答案 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
这样你至少可以知道它出错的程度。
希望这有帮助,让我知道;)