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'

私の投稿は、文字列である月を読むことができないように見えるため、日と年でのみソートされます。そして、この種の並べ替えはちょっと役に立たない. サイトが私の場合は、日付形式を変更して解決しますが、誰かのためにこのサイトを作成しており、デザイナーはすでにこの日付形式をフォトショップで描画しているため、このようにする必要があります. では、どうすればこのソートを適切に機能させることができますか?

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 に答える