WordPressでカスタム投稿タイプに対してAdvanced Custom Fieldsのリピーターフィールドを利用してカスタムフィールドを追加しています。
リピーターフィールドの定義は下記のようなものになります。
リピーターフィールド 「申込リスト」 (offer_list)
サブフィールド名1 「名前」(name) , サブフィールド名1 「申込日」 (date)
各投稿で複数の申込者の名前・申込日を入力しそれらをSQLで一括取得したいのですが、通常のカスタムフィールドは下記のような書き方で取得できておりますが、リピーターフィールドの場合にどのように書けばよいかわからない状況です。
SQL
1SELECT p.id, p.post_title, pm00.meta_value AS 'event_name', pm01.meta_value AS 'speaker_name', pm02.meta_value AS 'speaker_profile' 2FROM (SELECT id, post_title FROM wp_posts WHERE post_type = 'event_entry' AND post_status = 'publish') AS p 3LEFT JOIN (SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = 'event_name') AS pm00 ON p.id = pm00.post_id 4LEFT JOIN (SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = 'speaker_name') AS pm01 ON p.id = pm01.post_id 5LEFT JOIN (SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = 'speaker_profile') AS pm02 ON p.id = pm02.post_id
WordPressテンプレート側でACFで用意されている if(have_rows('offer_list') ..であれば出力可能ですが、
件数が多いためSQLで取得しようとしております。
どなたかアドバイスいただけますと幸いです。
よろしくお願い申し上げます。
回答1件
あなたの回答
tips
プレビュー