programing

두 날짜 사이의 WordPress 메타 쿼리

oldcodes 2023. 2. 23. 23:05
반응형

두 날짜 사이의 WordPress 메타 쿼리

WordPress의 메타쿼리에 대해서는 현재 약간의 문제가 있습니다.초기 상황:

2개의 메타필드가 있는 커스텀 투고 타입(offer_start-date, offer_end-date)CPT는 오퍼로서 지정된 기간(시작일과 종료일 사이)에 표시됩니다.이 날짜는 독일 형식 DD로 되어 있습니다.MM.YYY. 현재 다음 쿼리를 사용하고 있습니다.

$args = array(
    'post_type'         => 'offer',
    'posts_per_page'    => -1,
    'post_status'       => 'publish',
    'order'             => 'DESC',
    'meta_query'        => array(
        array(
            'key'       => 'offer_start-date',
            'value'     => date( 'd.m.Y', time() ),
            'type'      => 'numeric',
            'compare'   => '<='
        ),
        array(
            'key'       => 'offer_end-date',
            'value'     => date( 'd.m.Y', time() ),
            'type'      => 'numeric',
            'compare'   => '>='
        )
    )
);
new WP_Query( $args );

안타깝게도 쿼리는 신뢰할 수 있는 결과를 산출하지 못합니다.100% 이유는 말할 수 없다.모든 서비스가 표시되는 날도 있고 제공되지 않는 날도 있습니다.

저도 Codex에서 문제의 원인을 찾으려고 노력했지만, 저는 강한 블록헤드인 것 같습니다.

이와 같이 tu를 사용할 필요가 있는 경우:

'meta_query' => array(
        array(
            'key' => 'event_date',
            'value' => array(date('d/m/Y'), date('d/m/Y', strtotime('28 days'))),
            'compare' => 'BETWEEN',
            'type' => 'DATE'
        ),
    )

이 솔루션은 다른 사람에게 도움이 될 수 있습니다.

$args = array(
'cat' => $cat_ID,
'meta_query' => array(
    'relation' => 'AND',
    array(
        'key'     => 'date_from',
        'value'   => date("Y-m-d H:i:s"),
        'compare' => '<=',
        'type'    => 'DATE'
    ),
    array(
        'key'     => 'date_to',
        'value'   => date("Y-m-d H:i:s"),
        'compare' => '>=',
        'type'    => 'DATE'
    )
),
'orderby' => 'date',
'order' => 'DESC'
);

언급URL : https://stackoverflow.com/questions/23679956/wordpress-meta-query-between-2-dates

반응형