メタ値をシリアル化配列として持つmeta_query
私は、カスタム投稿タイプと、カスタム投稿タイプに関連付けられたメタボックスを介して入力されたカスタムデータを作成するプロジェクトに取り組んでいます。何らかの理由で、各メタボックスの入力が配列の一部になるようにメタボックスをコーディングすることにしました。たとえば、経度と緯度を保存しています: <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> 何らかの理由で、各メタボックスに単一のポストメタエントリを作成するというアイデアが気に入りました。オンsave_postフック、私はそうのようなデータを保存します。 update_post_meta($post_id, '_coordinates', $_POST['coordinates']); 私がこれを行ったのは、3つのメタボックスがあり、各投稿に3つのpostmeta値があるだけだからです。しかし、これで潜在的な問題に気づきました。WP_Queryを使用して、これらのメタ値に基づいて特定の投稿のみを引き出したい場合があります。たとえば、緯度の値が50を超えるすべての投稿を取得したい場合があります。データベースにこのデータが個別にあり、おそらくキーを使用してlatitudeいた場合、次のようにします。 $args = array( 'post_type' => 'my-post-type', 'meta_query' => array( array( 'key' => 'latitude', 'value' => '50', 'compare' => '>' ) …