【WordPress】参考元でドロップダウンメニューの項目を変更する方法

WordPress】参考元でドロップダウンメニューの項目を変更する方法-00

WordPress(ワードプレス)のお問い合わせフォームプラグイン「ContactForm7」で、参考元によってドロップダウンメニューの項目を自動で変更する方法をメモ。

はじめに

すでにお問い合わせフォームプラグイン「ContactForm7」が稼働しており、ドロップダウンメニューを使用している前提になります。

ドロップダウンメニューの名前を「select_plan」とします。

カスタムフィールド プラグインを入れる

【WordPress】参考元でドロップダウンメニューの項目を変更する方法u-01

参考:Advanced Custom Fields

まず、カスタムフィールドを利用するためにプラグイン「Advanced Custom Fields」をインストールして有効化します。

左メニューから「カスタムフィールド」→「新規追加」からカスタムフィールドを使用する条件を設定します↓↓↓

【WordPress】参考元でドロップダウンメニューの項目を変更する方法-02

タイトルは自由で、「フィールドを追加」から数値の受け渡しに使うラベルを決めます。

今回は、タイトルを「参考値」、ラベルを「rv」とし、名前も「rv」、タイプは「テキスト」とします。

「位置」の項目でカスタムフィールドを使用するルールを決めます。

ここでは、「固定ページのみ」や「投稿メージのみ」、「特定のテンプレートのみ」などが設定できます。

今回は、「ページテンプレート」「等しい」「デフォルトテンプレート」とします。

これで、固定ページのデフォルトテンプレートの場合のみカスタムフィールドが使えるようになります。

右上の「更新」をクリックして保存します。

参考元に参考値を設定しておく

次に、参考元となるページに参考値を設定しておいきます。

ここに入力した値が、次のページへ受け渡されます。

ページの編集画面を開くと、本文エリアの下にカスタムフィールドが表示されていると思います↓↓↓

【WordPress】参考元でドロップダウンメニューの項目を変更する方法-03

ここには、お問い合わせフォームのドロップダウンメニューの「何番目」の数値を入れておきます。

ここでは「2」とします。

ページを更新して保存。

aタグに参考値を埋め込む

入力した参考値を次のページに持っていくための設定です。

以下のようなお問い合わせフォームへのリンクを↓↓↓

<a href=”お問い合わせURL”>お問い合わせはコチラ</a>

次のように変更します↓↓↓

<a href=”お問い合わせURL/?select_plan=<?php echo get_post_meta($post->ID , ‘rv’ ,true); ?>”>お問い合わせはコチラ</a>

これで、このページからお問い合わせに行った時のURLが次のようになるはずです↓↓↓

お問い合わせURL/?select_plan=2(参考値)

「function.php」に受け渡しコードを入れる

次に、「function.php」に参考値を受け渡すためのコードを入れます。

function.phpページを編集する前に必ずバックアップを取り、自己責任で行ってください。

下記のコードを「function.php」の一番下にコピペします↓↓↓

function webzero_form_select_filter($tag) {
$formName = ‘select_plan’; //ドロップダウンメニュー名
if ( ! is_array( $tag ) )
return $tag;
if( isset($_GET[$formName]) ) {
$name = $tag[‘name’];
if( $name === $formName ) {
if( is_array( $tag[‘values’] ) ) {
$index = $_GET[$formName];
if( $index !== false ) {
$tag[‘options’][$key] = ‘default:’ . $index; //デフォルト値設定
}
}
}
}
return $tag;
}
add_filter( ‘wpcf7_form_tag’, ‘webzero_form_select_filter’, 11, 2);

参考:Contact Form 7のセレクトボックスに前ページの値を渡してセットする方法

上手くいかない場合

これで、参考元によってドロップダウンメニューの内容があらかじめセレクトされた状態になるはずです。

もし美味くいかない場合は以下のことを確認してみてください↓↓↓

  • ドロップダウンメニュー名が違う
  • お問い合わせURLの後の「/」が抜けている(「/」は1つ)
  • お問い合わせURLの後の「/」の後の「?」が抜けている
  • 参考値が全角数字になっている

以上です。

Byさちお

\ SHARE /