Amazonで商品を見る セール会場へ

Snow Monkey Forms│初期選択状態を指定する方法│チェックボックス・ラジオボタン・プルダウン(セレクトボックス)

Snow Monkey Formsにはチェックボックス、ラジオボタン、プルダウン(セレクトボックス)と選択する機能があります。

この記事では、PHPフィルターで初期値を指定する方法を紹介します。利用中のバージョンのブロック設定で目的の初期値を設定できる場合は、そちらを先に使ってください。

指定前のデフォルト状態のフォーム表示例。
変更前(2025年4月の記録)
初期選択状態が指定されたフォームの表示例。
初期選択状態(2025年4月の記録)

本記事ではそのやり方を紹介します。

Snow Monkey Forms の設定・カスタマイズ方法はこちらにまとめています。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

初期値が利用者の変更を上書きしないか確認する

スクロールできます
段階検証した内容
初回表示カバン・携帯、晴れ、東京都が選択済み。
変更カバンと携帯を両方解除し、曇り・沖縄県へ変更。
確認→戻る解除したチェックと変更後の選択が維持され、初期値へ戻らない。
対象外異なるNAMEのフォームには初期値が入らない。

確認画面へ進む前に、初期値とは違う値へ変更します。チェックボックスは1項目だけ残す場合に加え、すべて解除した場合も試してください。ラジオボタンとセレクトは別の選択肢へ変更してから確認画面へ進み、戻った後の値を見ます。

下の「まとめた場合」のコードで上記の一連の操作を、1280px・375pxの実フォームで確認しました。初期値の指定は送信データの検証やメール配送を保証するものではありません。

チェックボックス・ラジオ・セレクトの初期値を表示した実フォーム
2026年10月2日撮影。WordPress 7.1.2・SWELL 2.19.0・Snow Monkey Forms 13.0.0の隔離環境。本文の3種類の初期値を指定した初回表示です。必須の同意欄は初期選択にしていません。

Snow Monkey Formsで初期選択状態を指定する方法

やり方は簡単ですが、指定方法はコードになります。

フォームの作成

事前にチェックボックス・ラジオボタン・プルダウン(セレクトボックス)を作成します。

チェックボックスやラジオボタンなどの選択肢を作成する画面の様子。

もちろん選択肢(オプション)も作成しておきましょう。

初期選択状態を指定する

あとはコードを作成するだけです。

チェックボックス・ラジオボタン・プルダウンのNAME属性と選択肢を入力する必要があります。

チェックボックスcheckboxes-1inoornng
ラジオボタンradio-buttons-1inoot987
プルダウン(セレクトボックス)select-1inopi47j
NAME属性

変更前にバックアップし、子テーマのfunctions.phpのPHP内、またはCode SnippetsのPHPスニペットの一方に追加します。親テーマやフォーム本文にはPHPを貼りません。PHP開始タグも重ねないでください。

下の個別例から必要なものを選ぶか、「まとめた場合」だけを使います。両方を同時に登録しないでください。NAME属性は実際のフィールド名、初期値は実際の選択肢の値に置き換えます。表示ラベルと送信値が異なる場合は送信値を指定してください。

チェックボックス:カバン・携帯を初期選択にする

add_filter(
	'snow_monkey_forms/control/attributes',
	function( $attributes, $setting ) {
		if ( isset( $attributes['name'] ) && 'checkboxes-1inoornng' === $attributes['name'] ) {
			$attributes['values'] = [ 'カバン', '携帯' ]; // 初期でチェックする項目
		}
		return $attributes;
	},
	10,
	2
);

ラジオボタン:晴れを初期選択にする

add_filter(
	'snow_monkey_forms/control/attributes',
	function( $attributes, $setting ) {
		if ( isset( $attributes['name'] ) && 'radio-buttons-1inoot987' === $attributes['name'] ) {
			$attributes['value'] = '晴れ'; // 初期で選択する項目
		}
		return $attributes;
	},
	10,
	2
);

セレクトボックス:東京都を初期選択にする

add_filter(
	'snow_monkey_forms/control/attributes',
	function( $attributes, $setting ) {
		if ( isset( $attributes['name'] ) && 'select-1inopi47j' === $attributes['name'] ) {
			$attributes['value'] = '東京都'; // 初期で選ぶ選択肢
		}
		return $attributes;
	},
	10,
	2
);

まとめた場合

add_filter(
	'snow_monkey_forms/control/attributes',
	function( $attributes, $setting ) {

		if ( isset( $attributes['name'] ) ) {

			switch ( $attributes['name'] ) {

				// チェックボックス(複数選択)
				case 'checkboxes-1inoornng':
					$attributes['values'] = [ 'カバン', '携帯' ]; // 初期でチェックを入れる項目
					break;

				// ラジオボタン(1つのみ選択)
				case 'radio-buttons-1inoot987':
					$attributes['value'] = '晴れ'; // 初期で選ぶ項目
					break;

				// セレクトボックス(プルダウン)
				case 'select-1inopi47j':
					$attributes['value'] = '東京都'; // 初期で選ぶ都道府県
					break;
			}
		}

		return $attributes;
	},
	10,
	2
);

公開フォームで初期表示を確認した後、別の選択肢に変更して確認画面・入力画面への戻りを試します。利用者の変更が初期値へ戻されないこと、未選択に戻したチェックボックスが再選択されないことも確認してください。実際の送信テストはテスト用宛先で行います。実メールの送信は検証していません。

コード適用後にフォームで初期選択状態が反映されていることを確認する様子。

フィルターはNAME属性で判定するため、別フォームで同じNAMEを使うとそちらにも適用されます。対象フィールド名を他フォームと重複させないでください。元に戻すには追加PHPを停止・削除し、フォームとキャッシュを読み直します。プライバシーポリシーへの同意など、利用者本人の判断が必要な項目は初期選択にしないでください。

  • URLをコピーしました!

プラグインの設定でお困りなら

プラグインの導入・カスタマイズ代行

プラグインの選定から設定、競合の解消、動作に合わせた追加実装まで承ります。1時間 ¥8,000〜(税込)。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次