Wordpress标题数字排序功能

时间:2012-03-15 06:27:05

标签: wordpress function sorting

从一个家伙Utkarsh Kukreti那里学到了这个功能,http://www.fldtrace.com/wordpress/custom-post-types-numeric-title-order

卓越的解决方案,它适用于我的一个类别,包含相同的标题格式(例如Bla 1,Bla 2 ...),但它与我的其他类别只有字母和/或混合不能很好地工作号。

我的问题是(wp_posts.post_title + 0)在这里是什么意思?

function orderby_post_title_int( $orderby ) { 
    return '(wp_posts.post_title+0) ASC'; 
}

1 个答案:

答案 0 :(得分:0)

该子句(最终)被MySQL传递并解释。 wp_posts.post_title是数据库中的文本字段。添加0会强制MySQL尝试将结果解释为数字。

例如,

select '9' + 0;

返回(数字)9和

select '12' + 0;

返回(数字)12。如果MySQL将值排序为文本,则在9之前放置12(按字母顺序排列)。将值转换为数字后,可根据需要进行排序(12之前为9,按数字顺序排列)。

请注意,MySQL尽可能多地将字符串的开头转换为数字,所以

select '2abc' + 0;

返回2,但

select 'abc2' + 0;

返回0。