tokesta
フォーラムへの返信
-
フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】URL引数をもとにカスタムタクソノミーを取得して、フォーム上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= は書かない。
(定義とか違ってたらごめんなさい)
ありがとうございました!解決しました!
フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】URL引数をもとにカスタムタクソノミーを取得して、フォーム上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は仲間に勧めたい素晴らしいプラグインだと思います!
フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】URL引数をもとにカスタムタクソノミーを取得して、フォーム上コードまで書いていただき、感動しております。
フォーラムを利用したのは初めてなのですが、こんなに助けていただいて感謝の念が耐えません。しかし、上記をそのままテーマの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プラグイン使用)ですが、動作しています。フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】URL引数をもとにカスタムタクソノミーを取得して、フォーム上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を記述すると白くなる=>複数のフィルターフックの書き方がわからない)
作者様のご厚意に大変感謝しております。
フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】URL引数をもとにカスタムタクソノミーを取得して、フォーム上上記をやってみましたが、管理者宛メールの{キー}が上手く表示されません。
フォーム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}など、表示されております。
フォーラム: プラグイン
返信が含まれるトピック: 【MW WP Form】URL引数をもとにカスタムタクソノミーを取得して、フォーム上