0

メタ値を比較して投稿をクエリしようとしています。投稿に2つのメタを設定しました。つまり、'start_date' と 'end_date' です。これらは UNIX タイムスタンプとして保存されます。

次に、次の条件で投稿をクエリします。

  1. 現在の時刻のタイムスタンプが「start_date」より後です。
  2. 現在の時刻のタイムスタンプが「end_date」より前 (より小さい) です。

この場合、両方の条件を満たす必要があります。したがって、「関係」=>「AND」を使用しました。

したがって、クエリの print_r は次のとおりです。

Array
(
   [post_type] => ads
   [meta_query] => Array
       (
           [relation] => AND
           [0] => Array
               (
                   [kye] => start_date
                   [compare] => <=
                   [value] => 1352054503
                   [type] => NUMERIC
               )

           [1] => Array
               (
                   [kye] => end_date
                   [compare] => >=
                   [value] => 1352054503
                   [type] => NUMERIC
               )

       )

)

注: 広告はカスタム投稿タイプです。

そして、ここに投稿のメタがあります:

Array
(   
   [start_date] => Array
       (
           [0] => 1352160000
       )

   [end_date] => Array
       (
           [0] => 1352246400
       )

)

この投稿が表示される理由がまったくわかりません。開始日のタイムスタンプ (1352160000) は、現在のタイムスタンプ (1352054503) より大きくなっています。これは条件#1を破ります。では、なぜこれがまだ表示されているのでしょうか。どう思いますか?

4

1 に答える 1

1

meta_queryでは、「key」の代わりに「kye」を使用しています。

于 2012-11-04T21:31:02.933 に答える