質問: array( __( 'Email', 'flamingo' ), __( 'Full name', 'flamingo' ), __( 'First name', 'flamingo' ), __( 'Last name', 'flamingo' ), __( '参加者数', 'flamingo' ), ); ``` お手数ではありますが 有識者の方がいらっしゃいましたらご助言お願い出来ますでしょうか。 知識が浅く不躾な質問かもしれませんが何卒宜しくお願い致します。 以上です それでは失礼致します。
回答: 質問の内容だけでは、情報が少なく回答が難しいのでヒントだけ... どのようなフォームを定義されたのか不明ですが、Flamingo を使っている場合、フォームで入力された内容は、カスタム投稿タイプ flamingo_inbound に 保存されています。 カスタム投稿タイプ flamingo_inbound のカスタムフィールドを検索して、フィールドのキーと一致する項目を取得して、アドレス帳のCSV出力する部分で、一緒に出力するようにすれば、出力できると思います。 基本的な部分は、前回の( 【wordpress】Flamingoのエクスポートについて )と同じなので、カスタムフィールドのデータを取得できれば対応できると思います。 コメント欄を拝見して... いろいろツッコミどころがありそうですが、気がついた点として... * `get_field()` を使われていますが、`get_field()` は、Advanced Custom Fields ( ) の関数なので、Advanced Custom Fields プラグインがインストールされていないと PHPのエラーが発生します。 * `$fields_str .= $myterm-> ." _field_your-partner ";` も アロー演算子(`->`) と 結合演算子(`.`) が連続しているので、文法エラーですね。 * `$item->id` で取得できるのは、アドレス帳の「投稿ID」で、メッセージの「投稿ID」ではありませんので、`$item->id` でメッセージを取得することはできません。 手順としては、 1.カスタム投稿タイプ flamingo_inbound から、メールアドレスが一致するメッセージの投稿IDを検索 2.メッセージの投稿IDからカスタムフィールドを検索 3.アドレス帳のデータと一緒に出力 という感じでしょうか。 コメントに記載された内容を書き直すとこんな感じでしょうか。 ``` foreach ( $items as $item ) { $terms_str = ""; $myterms = get_the_terms( $item->id, 'flamingo_contact_tag' ); foreach( $myterms as $myterm ){ $terms_str .= $myterm->name ." "; } $args = array( 'post_type' => 'flamingo_inbound', 'posts_per_page' => -1, 'meta_query' => array( array( 'key' => '_from_email', 'value' => $item->email, ) ), ); $fields = get_posts( $args ); $flds = array(); foreach( $fields as $field ){ $flds[] = get_post_meta( $field->ID, '_field_your-partner', true ); } $row = array( $item->email, $item->get_prop( 'name' ), $item->get_prop( 'first_name' ), $item->get_prop( 'last_name' ), $terms_str, implode( ' ', $flds ) ); echo "\r\n" . flamingo_csv_row( $row ); } ``` 参考URL: * implode - PHPマニュアル * https://wpdocs.osdn.jp/カスタムフィールドの使い方 * http://wpdocs.osdn.jp/テンプレートタグ/get_posts * https://wpdocs.osdn.jp/関数リファレンス/get_post_meta