는 Y/m/d의 형식 (또는 Y-m-D ... 등)를 사용한다, 날짜를 비교할 수 있습니다합니다. 당신의 인수와
, SQL 쿼리는 다음과 같습니다 예를 18/03/2012 >= 17/04/2012
를 들어, 잘못
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = 'live' AND (wp_posts.post_status = 'publish') AND ((wp_postmeta.meta_key = 'date' AND CAST(wp_postmeta.meta_value AS DATE) >= '17/04/2012')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10
이 참 ...
당신은 Y/m/d의 형식과 다음 인수를 사용하는 경우 :
$args = array(
'post_type' => 'live',
'meta_query' => array(
array(
'key' => 'date',
'value' => date('Y/m/d',time()),
'compare' => '>=',
)
)
);
그것은 예상대로 작동합니다
:
SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts INNER JOIN wp_postmeta ON (wp_posts.ID = wp_postmeta.post_id) WHERE 1=1 AND wp_posts.post_type = 'live' AND (wp_posts.post_status = 'publish') AND ((wp_postmeta.meta_key = 'date' AND CAST(wp_postmeta.meta_value AS CHAR) >= '2012/04/17')) GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC LIMIT 0, 10
,536,913을 63,210
그래서 :
- 당신은 데이터베이스
- 에 날짜 값을 수정할 수 있습니다 또는 당신은 비교하기 전에이 값을 변환하는 자신의 쿼리를 구축 할 수는
사용자 정의 필드는 JQuery와 UI 달력을 사용하여 업데이트됩니다 . 날짜의 데이터베이스 항목은 동일한 형식 날짜 ('d/m/Y', 시간())입니다. – jamessy
d/m/Y는 날짜를 비교할 수있는 좋은 선택이 아니므로, 당신은 Y/m/d – soju