0

所以我有一个自定义字段,它以这种格式以纯文本形式提供输出:dd。MM yy(2013 年 10 月 9 日)。这是我使用的循环:

query_posts(array('category_name'=>'somecategory', 'posts_per_page'=>'5','paged' => get_query_var('paged')));
while (have_posts()) : the_post();

//stuff
the_field('mydate'); //the output is: dd. MM yy
//stuff

endwhile;
wp_reset_query();
//paginate_links code...

如果我将此添加到 query_posts:

'meta_key' => 'mydate', 'orderby'=>'mydate'

我的帖子仅按日和年排序,因为它似乎无法读取月份,因为它是一个字符串。这种排序有点没用。如果该网站是我的,我会更改日期格式并且它会得到解决,但我正在为某人做这个网站并且设计师已经在 Photoshop 中绘制了这种日期格式,所以它必须是这样的。那么我怎样才能使这种排序正常工作呢?

4

1 回答 1

0

在 query_posts 之前添加以下代码:

add_filter('posts_where', 'filter_orderby');
 function filter_orderby( $where = '' ) {
    $where .= "  AND $wpdb->postmeta.meta_key = 'mydate' ORDER BY mydate DESC";
    return where;
}

希望能帮助到你

于 2013-10-09T10:17:15.187 回答