メタ値を比較して投稿をクエリしようとしています。投稿に2つのメタを設定しました。つまり、'start_date' と 'end_date' です。これらは UNIX タイムスタンプとして保存されます。
次に、次の条件で投稿をクエリします。
- 現在の時刻のタイムスタンプが「start_date」より後です。
- 現在の時刻のタイムスタンプが「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を破ります。では、なぜこれがまだ表示されているのでしょうか。どう思いますか?