WP_meta_value_num별 쿼리 순서가 작동하지 않습니다.
가격대별로 서비스 목록을 보여주려고 합니다.커스텀 포스트 타입과 커스텀 필드 등을 설정했습니다.그러나 페이지에서 쿼리를 실행하면 가장 비싼 서비스(100파운드)가 마지막이 아니라 가장 먼저 표시됩니다.제가 작성한 쿼리는 아래와 같습니다.
$services = new WP_Query(array(
'post_type' => 'service',
'tax_query' => array(
array(
'taxonomy' => 'service_type',
'field' => 'name',
'terms' => $post->post_name,
),
),
'meta_key' => 'price',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'order' => 'ASC', ));
이 페이지에 대한 링크는 dev.poshwashlondon.co.uk/valeting 입니다.
미리 감사드립니다!
제공하신 링크에는 문자열 주문(100, 15, 20, 25 등)이 명확하게 나와 있습니다.당신의 문제는 쿼리가 사용하고 있는 메타 값이 숫자가 아니라 문자열이라는 것입니다.
다음을 시도해 볼 수 있습니다.
$services = new WP_Query(array(
'post_type' => 'service',
'tax_query' => array(
array(
'taxonomy' => 'service_type',
'field' => 'name',
'terms' => $post->post_name,
),
),
'meta_key' => 'price',
'meta_type' => 'NUMERIC',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'order' => 'ASC', ));
여기서 가능한 "주문 기준"을 확인할 수 있습니다: https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
오래된 질문이라는 것을 압니다. 아마도 제 대답이 누군가에게 도움이 될 것입니다.
여기서 문제는 가격이 @muka-gergely가 언급한 대로 문자열이므로 정렬은 문자열(즉 단어)에는 괜찮지만 숫자(예를 들어 1, 3, 4, 6, 56, 6 등)에는 예상치 못할 수 있다는 것입니다.
숫자를 최저에서 최고로 정렬하려면 추가해야 합니다.'meta_type'
문의하신 바로는
$services = new WP_Query(array(
'post_type' => 'service',
'tax_query' => array(
array(
'taxonomy' => 'service_type',
'field' => 'name',
'terms' => $post->post_name,
),
),
'meta_key' => 'price',
'post_status' => 'publish',
'posts_per_page' => -1,
'orderby' => 'meta_value_num',
'meta_type' => 'NUMERIC', //HERE
'order' => 'ASC', ));
가능한 값:'meta_type'
'Numeric', 'BINary', 'CHAR', 'DATE', 'DATETIME', 'DECIMAL', 'Signed', 'TIME', 'UNSIGNED'입니다.
자세한 내용: https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
언급URL : https://stackoverflow.com/questions/39774534/wp-query-orderby-meta-value-num-not-working
'source' 카테고리의 다른 글
이 호환되는 기능 타입들이 C에 있습니까? (0) | 2023.10.23 |
---|---|
'루프' 외부에 워드프레스 'Comments Template' 표시 (0) | 2023.10.18 |
mySQL date시간 범위 쿼리 문제 (0) | 2023.10.18 |
raspberry Pi가 아닌 production server에서 작동하는 mysql window 기능 (0) | 2023.10.18 |
일/월 보관(년미포함) (0) | 2023.10.18 |