可按保存日期的元值排序的列-无法使其工作

时间:2012-10-24 作者:user22862

我正在尝试按事件日期对应的元数据对帖子进行排序(在编辑屏幕(wp admin/edit.php)中),但我无法使其正常工作。。。

例如ASC 返回值:

2012年10月12日
2012年12月11日
2012年9月7日

DESC 返回值:

2012年9月7日
2012年12月11日
2012年10月12日

我使用以下函数创建可排序的自定义列:

function event_date_column_display( $name ) {
    global $post;
    switch ($name) {
        case \'event-date\':
            $pid = $post->ID;
            $event_date = get_post_meta($pid, \'_event_date\', TRUE);

            if ($event_date) {
                echo $event_date;
            }
    }
}

function event_date_column_register_sortable( $columns ) {
    $columns[\'event-date\'] = \'event-date\';  
    return $columns;
}
有没有关于如何修复此问题的提示?

1 个回复
SO网友:Mridul Aggarwal

是否可以将排序直接插入WP\\U查询类?它有处理这种情况的所有参数http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters

如果要在代码中执行此操作,可以首先验证所有日期,然后将其转换为标准ISO(yyyy-mm-dd)格式;然后使用标准php函数对它们进行如下排序sort, ksort, (usort 与…结合strcmp) 或任何其他取决于您的数据

结束

相关推荐

在users.php中使用Manage_User_Columns显示cimy用户字段

我正在尝试向我的主题函数添加代码。php在仪表板用户中显示使用Cimy用户额外字段插件创建的字段。php。我知道我需要使用manage\\u users\\u列,但除此之外,我陷入了困境。有谁对这个插件足够熟悉,可以帮助我获得要显示的正确字段?