WordPress Meta_Query: 알아야 할 모든 것
게시 됨: 2022-04-30WordPress의 가장 강력한 도구 중 하나는 게시물에 사용자 정의 필드를 추가하는 기능입니다. 많은 개발자가 게시물에 고급 사용자 정의 필드 또는 사용자 정의 메타 필드를 사용합니다.
이 포스트에서는 WordPress의 meta_query 함수를 사용하여 사용자 정의 필드로 게시물을 쿼리하는 방법에 대해 설명합니다. 이것은 사용자 정의 기능이 많은 사이트에 유용합니다.
메타 값으로 게시물 쿼리
아마도 사용자 정의 필드로 게시물을 쿼리하는 가장 인기 있는 방법은 하나의 특정 메타 값을 대상으로 하는 것입니다. 예를 들어 게시물에 "추천"인지 여부를 결정하는 데 사용되는 사용자 정의 필드가 있는 사이트가 있다고 가정해 보겠습니다. 이것은 WordPress 사이트에서 추천 섹션을 만들 때 일반적입니다.
물론 위의 코드는 필드와 메타 키의 제목에 따라 다르지만 '키'는 사용자 정의 필드의 이름이고 '값'은 게시물을 쿼리하는 것입니다. '비교' 필드는 나중에 포스트에서 다룰 다양한 비교 작업에 사용됩니다.
이것을 WP_Query에서 사용하면 for 루프 함수가 게시물을 표시하기에 좋은 배열을 얻을 수 있습니다. 이 게시물에서는 WP_Query 출력을 표시하는 방법보다는 meta_query 함수만 다룰 것입니다.
여러 메타 값으로 게시물 쿼리
여러 값에 대해 메타 키 값을 확인하려면 'IN' 연산자를 사용하는 것이 가장 좋습니다.
여러 메타 키로 게시물 쿼리
단일 메타 키로 게시물을 쿼리했으므로 이제 쿼리 중인 여러 필드/키로 게시물을 쿼리해 보겠습니다. 이를 통해 여러 사용자 정의 필드를 기반으로 게시물을 쿼리할 수 있습니다. 이 예제는 쿼리를 배열에 중첩하고 meta_query에 '관계'를 추가하여 위에서 수행한 두 가지 작업을 결합합니다.
'관계' 필드는 'AND' 또는 'OR'로 설정할 수 있으므로 모든 조건이 충족되거나 하나만 충족되도록 요구할 수 있습니다.

메타 쿼리 비교 연산자
메타 쿼리로 게시물을 쿼리하는 데 도움이 되는 몇 가지 연산자가 있습니다. 다음은 각 비교 연산자에 대한 간략한 분석과 사용 방법입니다.
- '=' 메타 값과 같은 메타 키를 쿼리합니다.
- '!=' 메타 값과 같지 않은 메타 키를 쿼리합니다.
- '>' 메타 값보다 큰 메타 키를 쿼리합니다.
- '>=' 메타 값보다 크거나 같은 메타 키를 쿼리합니다.
- '<' 메타 값보다 작은 메타 키를 쿼리합니다.
- '<=' 메타 값보다 작거나 같은 메타 키를 쿼리합니다.
- 'LIKE' 단어/구를 포함하는 메타 키를 쿼리합니다(예: "red"를 쿼리하면 "Red", "looksred" 및 "redstyle" 구와 일치함).
- 'NOT LIKE' 위의 반대말
- 'IN' 값이 배열에 존재하는 메타 키를 쿼리합니다.
- 'NOT IN' 배열에 없는 값이 있는 메타 키를 쿼리합니다.
- 'BETWEEN' 값이 두 숫자 사이에 있는 메타 키를 쿼리합니다.
- 'NOT BETWEEN' 값이 두 숫자 사이에 있지 않은 메타 키를 쿼리합니다.
- 'EXISTS' 값이 전혀 존재하지 않는 메타 키를 쿼리합니다.
- 'NOT EXISTS' 값이 전혀 존재하지 않는 메타 키를 쿼리합니다.
- 'REGEXP' 정규식을 기반으로 메타 키 쿼리
- 위의 REGEXP와 반대되는 'NOT REGEXP'
메타 필드별로 게시물을 정렬하는 방법
물론 WordPress에서는 WP_Query의 'orderby' 옵션을 사용하여 사용자 정의 필드를 사용하여 게시물을 정렬할 수 있습니다. 'orderby'를 'meta_value'로 설정한 다음 'meta_key' 값을 필드 이름으로 설정해야 합니다. 기본적으로 이것은 필드가 숫자일 때 쿼리가 알파벳순으로 반환되거나 숫자별로 정렬되기를 원할 때 가장 유용합니다.