2016-06-28 19 views
1

モーニングすべてのより古い日付で投稿を表示しないように、WPクエリ、今日

カスタムフィールド(EVENT_DATE)(ACF)がより古い場合、私は、特定のカテゴリー内の投稿をループしようとしています今日。私が使用しているクエリがある:ACFで

$today = current_time('Ymd'); 
$args = array(
'category' => 42, // Events category 
'post_status' => 'publish', // Published 
'posts_per_page' => '0', // Unlimited posts per page 
'meta_query' => array(
    array(
     'key' => 'event_date', // Only loop through posts when the event date 
     'compare' => '>', // Is greater than $today, ie in the future 
     'value' => $today, 
    ) 
), 
'meta_key' => 'event_date', 
'orderby' => 'meta_value', 
'order' => 'ASC', 
); 

、私はデフォルト(YYMMDD)であることを保存した日付を設定していると私は$今日のVAR(はYmd)と一致するように設定してきた、まだそれはまだ示しています6月23日からのイベント。

クライアントは、日付順にイベントを表示するようにリストされたが、過去のイベントは表示しないようにしました。私はそれが半分働いているが、私はそれが働くべきだと思うように私にいくつかの問題を引き起こしている。私はバックエンドのすべてをダブルチェックして、すべてがよさそうだ。私は金髪の瞬間を過ごしているかもしれません...

何か助けていただければ幸いです!

ありがとうございます!

答えて

0

codexを見ると、WPは数字で構成されるmeta_valueによる順序付けに問題があるようです。以下のコピー元:

「meta_value」 - 「meta_key =キー名」はまた、 クエリ内に存在しなければならないことに注意してください。また、並べ替えはアルファベットで、文字列(つまり単語)の場合は となりますが、数字の場合は予期しないことがあります(例: 1,3,4,4,6,6、 6,34,56が当然のように が期待しています)。数値の代わりに 'meta_value_num'を使用してください。 というメタ値を特定の型にキャストする場合は、 'meta_type'を指定することもできます。可能な値は 'NUMERIC'、 'BINARY'、 'C​​HAR'、 'DATE'、 'DATETIME'、 'DECIMAL'、 'SIGNED'、 'TIME'、 'UNSIGNED'で、 '$ meta_query'の と同じです。 'meta_type'を使用する場合は、それに応じてmeta_value_ * を使用することもできます。たとえば、DATETIMEを 'meta_type'として使用する場合、 は 'meta_value_datetime'を使用してオーダー構造を定義できます。

だから私は最初にmeta_value_numを試してみましょう。 そうでない場合は、meta_typeをDATEまたはDATETIMEとしています。


注:

  • 'posts_per_page' => -1,ない'posts_per_page' => '0',
  • 'cat' => 42,ない'category' => 42,
+0

おかげでチームメイトのすべての投稿を表示するには、完全にこれらの最後のポイントを逃しました! 7月23日のイベントはまだ表示されていますが、リストの一番下に表示されるので、 'meta_value'を 'meta_value_num'( 'meta_type'なし)に変更した後で注文が動作しています。奇妙なものです...リンクはhttps://touchstonecrm.co.uk/events/です。私が何を意味するかを見てみたい場合は – AshboDev

+0

'current_time'が文字列を返す場合、それはうまくいくはずです。 'meta_value_num'の同じ問題が' compare'で起こっていると思いますか?この問題は文字列としての比較が数値と同じではないためです。 'meta_query'に' type'パラメータがあります。別の値に設定してみてください。 –

+0

''type' => 'NUMERIC'、' –

関連する問題