WP_LIST_TABLE默认排序方式为数字

时间:2017-05-30 作者:RiesvGeffen

我使用WP_List_Table 班一切正常,但我想要默认值orderby 为数字(按ID)。如果是通过字符串,它就可以工作。

这是功能:

private function sort_data( $a, $b )
    {
        // Set defaults
        $orderby = \'id\';
        $order = \'desc\';
        // If orderby is set, use this as the sort column
        if(!empty($_GET[\'orderby\']))
        {
            $orderby = $_GET[\'orderby\'];
        }
        // If order is set use this as the order
        if(!empty($_GET[\'order\']))
        {
            $order = $_GET[\'order\'];
        }
        $result = strcmp( $a[$orderby], $b[$orderby] );
        if($order === \'asc\')
        {
            return $result;
        }
        return -$result;
    }
结果如下:

九、八、六、四、二、十一

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

尝试strnatcmp() 用于“自然”排序,而不是strcmp() (src) 或专门处理ID订购,例如使用类型转换和spaceship operator <=> 在PHP 7中。

结束

相关推荐

在管理员帖子wp-list-table之前/之后添加内容

我知道有两个钩子可以在分类法wp列表前后添加内容。是否有操作可在编辑上的post type wp list表格后添加内容。php页面?$taxonomy列表:add_action( \'category\' . \'_pre_add_form\', \'copy_above_form\' ); function copy_above_form( $taxonomy ) { echo \'<p>Above the WP-List-Table</p>\';&#x