web-dev-qa-db-ja.com

チェックボックスがmeta_queryのWP_Query

私はこれをStackOverflowにも掲載しましたが、それが許可されているかどうかはわかりません - 知らせてもらえない場合は削除します(スパムのようには思われません)。とにかく....

私はカスタム投稿タイプを持ち、その投稿タイプのカスタムメタ値を作成するためにVerve Meta Boxesプラグインを使用しました。

メタボックスは「件名」と呼ばれ、値を割り当てるための件名のチェックボックスリストがあります。例えば、私は数学、英語、科学をチェックしました。

今度はWP_Queryを実行して、ユーザーが選択した件名の配列を配列として取得し、それらの件名をカスタム投稿タイプ用に選択された件名と比較し、一致する場合は投稿を返します。

これまでのコードはこれです:

$subjects_array = explode("_", $_GET["subjects"]);

$args = array(
            'post_status' => 'publish',
            'post_type' => 'any',
            'meta_query' => array(

         // Not sure what type of meta query to do   

            )
        );


$query = new WP_Query($args);

手短に言えば、メタボックスのデータがどんな形式であるかに対して配列を比較するmeta_queryを実行する方法があるかどうかを知る必要があるだけです。

これが不可能な場合、私はそれをする別の方法を見るつもりであるということを知る必要があるだけですが、私はおそらく私が知らないいくつかのmeta_query能力があると思います。

どんな助けでも大いに感謝されるでしょう。

5
Adam Moss

カスタムフィールドのクエリをよりよく理解するために codex を見てください。

$subjects_array = explode("_", $_GET["subjects"]);

$args = array(
    'post_status' => 'publish',
    'post_type' => 'any',
    'meta_query' => array(
         array(
            'key' => 'field_name',
            'value' => $subjects_array,
            'compare' => 'IN'
        ) 
    )
);


$query = new WP_Query($args);
4
Bainternet