接下来让他能够进行排序。通过 manage_edit-post_sortable_columns Filter来指定哪些列可以用来排序。
- function rating_column_table_sorting( $columns ) { $columns['rating'] = 'rating';
- return $columns; }
- add_filter( 'manage_edit-post_sortable_columns', 'rating_column_table_sorting' );
接下来就告诉WordPress如何根据’rating’排序。
- function rating_column_orderby( $vars ) { if ( isset( $vars['orderby'] ) && $vars['orderby'] == 'rating' ) {
- $vars['orderby'] = 'meta_value_num'; $vars['meta_key'] = '_rating';
- } return $vars;
- } add_filter( 'request', 'rating_column_orderby' );
至此,自定义文章列表列的功能已经实现。这里只是一个示例,稍作修改,便可以将“推荐指数”换成你文章中的任何数据,从而实现不同站点的不同需求。
另外,你是不是又注意到自己根据教程实现的效果有点不一样?你的“推荐指数”在最后一列?
告诉你一个小技巧,在第一段代码中,传给Filter的参数$columns,是一个列的数组,包含了所有的列的信息,在没有自定义列的情况下,返回的就是内建的列,其顺序如下:cb(复选框)、title(标题)、author(作者)、categories(分类目录)、tags(标签)、comments(评论)、date(日期)。如果要将自定义的列加到特定位置,就需要循环该数组,到特定位置时,再添加自定义的列,代码如下。如果需要删除某些列,在循环中删除该key=>value即可(代码中注释的部分,删除了评论列)。









