自然排序/排序wp_Dropdown_Categories

时间:2012-11-14 作者:Jona

我使用以下代码显示存档下拉列表:

    wp_dropdown_categories( \'taxonomy=week&hierarchical=1&orderby=name\' );
然而,分类法的格式是第1周、第2周。。。。第10周、第11周我需要按照http://www.php.net/manual/en/function.natsort.php e、 g。

第1周第2周<第10周
第11周

目前正在订购true alpha,例如。

第1周第10周第11周第2周

不知道最好的方法是什么,非常感谢您的帮助或想法。

1 个回复
最合适的回答,由SO网友:Oleg Butuzov 整理而成

不是最好的方式(至少如果你有很多标签)

add_filter(\'get_terms_orderby\', \'get_terms_orderby_natural_slug\',10,2);
wp_dropdown_categories( \'taxonomy=week&hierarchical=1&orderby=slug\' );
remove_filter(\'get_terms_orderby\', \'get_terms_orderby_natural_slug\');

function get_terms_orderby_natural_slug($orderby, $args){
    $orderby = "SUBSTR({$orderby} FROM 1 FOR 5), CAST(SUBSTR({$orderby} FROM 6) AS UNSIGNED), SUBSTR({$orderby} FROM 6)";
    return $orderby;
}
但这仍然是一种方法。。。

结束

相关推荐

Pre_Get_Posts()操作中的多个orderby参数

引用@Otto\'s response 对于我提出的一个关于按多个字段排序的问题,他说:无法使用朴素的WP\\U查询。使用posts\\u orderby过滤器添加您自己的订购字符串。function my_order($orderby) { global $wpdb; return \"{$wpdb->posts.post_author} ASC, {$wpdb->posts.post_date} DESC\"; } add_filte