フォーラムへの返信

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック投稿者 tokesta

    (@tokesta)

    Kitajima様!!

    お悩み「MW WP Formで投稿記事のカスタムタクソノミーを管理者宛メールで表示させる」は解決しました!すべてKitajima様のご尽力のおかげです。心より感謝申し上げます。

    ここまで親身になって解決してくださり、ますますこのプラグインが好きになりました。今後も活用させていただきたいですし、Kitajima様のご活動を応援してゆきます!!

    今回は本当にありがとうございました!!

    最後に教えていただいた手順をまとめてみました。

    【目的】URL引数でフォーム設置ページに渡したpost_idをもとに、リンク元の記事のURLやカスタムタクソノミーを管理者宛メール(や自動返信メール)で使用する

    【解決策】
    Step1. フィルターフック my_mwform_value_キー名( $value, $name ) をfunctions.phpに記述する。URL引数で渡したpost_idをもとに、カスタムタクソノミーやパーマリンクを取得。$nameにひもづける。

    Step2. フォーム(管理画面)上でhiddenフィールドを作成。name=キー名にすることで、初期値として設定。管理者宛メールの設定では、{name} 表示できるようになる。value= は書かない。

    (定義とか違ってたらごめんなさい)

    ありがとうございました!解決しました!

    トピック投稿者 tokesta

    (@tokesta)

    Kitajima様

    preg_match()は、今回初めて拝見しました。上記はpost_id=xxxの「xxx」と符号しているのですね!勉強になります。

    ただ今回もhiddenフィールドのvalueは空のままです。
    確認するため、以下のようにフォームが設置してある固定ページ上でvar_dumpしてみました。

    <?php var_dump($_GET['job_area']); ?>
    <?php var_dump(get_the_terms( $_GET['post_id'], 'job_area' )); ?>
    <?php var_dump(get_permalink( $_GET['post_id'] )); ?>

    結果、post_idをもとにタクソノミーとパーマリンクが表示されました。
    渡せてはいるようです。
    フォーム固定ページ
    そのまま表示させておきます。(WP_DEBUGもtrueになってます)

    フォームショートコードの書き方には問題ないと思います。

    [mwform_hidden name="job_area" value="{job_area}" echo="true"]
    [mwform_hidden name="permalink" value="{permalink}" echo="true"]

    2時間ほど試行錯誤しておりますが、原因が特定できません(xx;

    管理者宛メールに、どの投稿を見て応募したか確認できるようURLの表示だけはカスタムタクソノミーをあきらめてでも優先したいと考えております。

    現状でもカスタムフィールドで設定した照会番号をもとに管理画面で検索→投稿できますので、MW WP Formは仲間に勧めたい素晴らしいプラグインだと思います!

    トピック投稿者 tokesta

    (@tokesta)

    コードまで書いていただき、感動しております。
    フォーラムを利用したのは初めてなのですが、こんなに助けていただいて感謝の念が耐えません。

    しかし、上記をそのままテーマのfunctions.phpに書きましたが、表示されません。

    WP_DEBUGをtrueにしても、特にエラーは出てきませんでした(><;

    以下該当箇所のソースです

    <p>高時給だから人気!パネルを梱包して運ぶおシゴト!<input type="hidden" name="post_title" value="高時給だから人気!パネルを梱包して運ぶおシゴト!" /><br />
    777777<input type="hidden" name="wpcf-job_number" value="777777" /><br />
    斎藤コーポレーション<input type="hidden" name="wpcf-company_name" value="斎藤コーポレーション" /></p>
    <p><input type="hidden" name="job_area" value="" /></p>
    <p><input type="hidden" name="permalink" value="" /></p>

    hiddenフィールドは出力されていますが、valueは空のままのようです。
    最初の3つの内2つはカスタムフィールド(typesプラグイン使用)ですが、動作しています。

    リンク

    トピック投稿者 tokesta

    (@tokesta)

    Kitajimaさま

    上記前半の方法を試して、{post_title}や{カスタムフィールド}の管理者宛メール上での表示に成功しました!ありがとうございます!!

    >>job_area については、フックのほうで $_GET[‘job_area’] を使用するようにされていますが、URLの引数として job_area はきちんと渡されていますか?

    フォームのページへ移動するボタンのaタグは、

    <a href="<?php bloginfo('url'); ?>/apply?post_id=<?php echo $post->ID; ?>

    だけだったので、job_areaとpermalinkを渡したいと思い、以下のように記述しました。

    <a href="<?php bloginfo('url'); ?>/apply?post_id=<?php echo $post->ID ;>&job_area=<?php $terms = get_the_terms($post->ID, "job_area");
    						 	if ( !empty( $terms ) && !is_wp_error( $terms ) ){
    						 	foreach ( $terms as $term ) {
    							echo $term->name;
    								}
    						 	}
    							?>&permalink=<?php echo the_permalink(); ?>">

    フォームのページのURLには渡せているようなのでvar_dumpしたところ、
    job_areaは表示されましたが、permalinkは表示されませんでした。

    また、hiddenフィールド(echo=”true”)は両方ともフォームのページでは表示されませんでした。

    救いの手を差し伸べていただいている身で大変恐縮ですが、現状をまとめると以下のようになります。

    ・投稿のカスタムタクソノミーをURL引数でフォームに渡しているが、hiddenフィールドに設定されない (job_area)

    ・フォーム遷移前のシングルページのURLをフォームに渡せていない(functions.phpにもうひとつのfunction my_mwform_valueを記述すると白くなる=>複数のフィルターフックの書き方がわからない)

    作者様のご厚意に大変感謝しております。

    トピック投稿者 tokesta

    (@tokesta)

    上記をやってみましたが、管理者宛メールの{キー}が上手く表示されません。

    フォームHTML(管理画面)記述内容

    <div class="applied">
    <h3>今回ご応募されるおシゴトはこちら!</h3>
    <table border="1">
    <tbody>
    <tr>
    <th>おシゴトタイトル</th>
    <td>{post_title}</td>
    </tr>
    <tr>
    <th>おシゴト番号</th>
    <td>{wpcf-job_number}</td>
    </tr>
    <tr>
    <th>給与</th>
    <td>時給{wpcf-job_wage} 円</td>
    </tr>
    </tbody>
    </table>
    </div>
    <div class="formcontent">
    <h3>問い合わせ情報の入力</h3>
    <table>
    <tr>
    <th>お名前<span style="color:red;">*</span></th>
    <td>[mwform_text name="name"]</td>
    </tr>
    <tr>
    <th>電話番号<span style="color:red;">*</span></th>
    <td>[mwform_tel name="tel"]</td>
    </tr>
    <tr>
    <th>メールアドレス<span style="color:red;">*</span></th>
    <td>[mwform_text name="mail"]</td>
    </tr>
    </table>
    </div>
    
    [mwform_hidden name="job_area"]
    
    <blockquote align="center"><span style="color:red;">*</span> は必須入力となります。ご協力ください。</blockquote>
    <div align="center"><span id="submitback>"[mwform_backButton value="もどる"]</span></div>
    <div class="btn" align="center">[mwform_submitButton name="この内容で送信!" confirm_value="確認" submit_value="送信"]</div>

    テーマのfunctions.php記述内容

    function my_mwform_value( $value, $name ) {
        if ( $name === 'job_area' && !empty( $_GET['job_area'] ) && !is_array( $_GET['job_area'] ) ) {
            return $_GET['job_area'];
        }
        return $value;
    }
    
    add_filter( 'mwform_value_mw-wp-form-286', 'my_mwform_value', 10, 2 );

    管理者宛メール記述内容(管理画面)

    応募者情報
    
    名前:{name}
    
    電話:{tel}
    
    メール:{mail}
    
    案件:
    {post_title}
    {url}
    {pagename}
    {page_id}
    {permalink}
    
    エリア:{job_area}
    
    お仕事番号:{wpcf-job_number}
    
    企業名:{wpcf-company_name}

    hiddenフィールドのみならず、{name} {tel} {mail}以外はすべて管理者宛メールに表示されません。

    知識がなく、原因が特定できませんでした。すみません。{wpcf-キー}は、プラグインtypesを使用して作成したカスタムフィールドのキー名です。WEBページのフォームでは、これらや{post_title}など、表示されております。

    トピック投稿者 tokesta

    (@tokesta)

    Kitajimaさま

    ご返信ありがとうございます!大変嬉しいです。
    早速試して、またこちらでご報告したいと思います!

    [mwform_hidden name="タクソノミー名" value="ターム名"]

    となるように、フィルターフックを記述すればよいのですね!
    やってみます。ありがとうございます!

6件の返信を表示中 - 1 - 6件目 (全6件中)