사용자 정의 게시물 유형과 사용자 정의 게시물 유형과 관련된 메타 박스를 통해 입력 된 사용자 정의 데이터를 만드는 프로젝트를 진행하고 있습니다. 어떤 이유로 든 나는 각 메타 박스의 입력이 배열의 일부가되도록 메타 박스를 코딩하기로 결정했습니다. 예를 들어 경도와 위도를 저장하고 있습니다.
<p>
<label for="latitude">Latitude:</label><br />
<input type="text" id="latitude" name="coordinates[latitude]" class="full-width" value="" />
</p>
<p>
<label for="longitude">Longitude:</label><br />
<input type="text" id="longitude" name="coordinates[longitude]" class="full-width" value="" />
</p>
어떤 이유로 든, 나는 각 메타 박스마다 단일 postmeta 항목을 갖는 아이디어를 좋아했습니다. 온 save_post
후크, 나는 데이터가 너무 좋아하는 저장 :
update_post_meta($post_id, '_coordinates', $_POST['coordinates']);
세 개의 메타 박스가 있고 각 게시물에 대해 3 개의 postmeta 값을 갖는 것을 좋아하기 때문에이 작업을 수행했습니다. 그러나 이제는 이것으로 잠재적 인 문제를 깨달았습니다. 이러한 메타 값을 기반으로 특정 게시물을 꺼내기 위해 WP_Query를 사용할 수 있습니다. 예를 들어 위도 값이 50보다 큰 모든 게시물을 가져오고 싶을 수 있습니다.이 데이터를 데이터베이스에 개별적으로 (아마도 key 사용) 사용하는 latitude
경우 다음과 같은 작업을 수행합니다.
$args = array(
'post_type' => 'my-post-type',
'meta_query' => array(
array(
'key' => 'latitude',
'value' => '50',
'compare' => '>'
)
)
);
$query = new WP_Query( $args );
_coordinates
postmeta의 일부로 위도가 있으므로 작동하지 않습니다.
그래서 내 질문은, meta_query
이 시나리오에서와 같이 직렬 배열을 쿼리하는 데 활용할 수 있는 방법 이 있습니까?