Snow Monkey Formsにはチェックボックス、ラジオボタン、プルダウン(セレクトボックス)と選択する機能があります。
この記事では、PHPフィルターで初期値を指定する方法を紹介します。利用中のバージョンのブロック設定で目的の初期値を設定できる場合は、そちらを先に使ってください。


本記事ではそのやり方を紹介します。
Snow Monkey Forms の設定・カスタマイズ方法はこちらにまとめています。
初期値が利用者の変更を上書きしないか確認する
| 段階 | 検証した内容 |
|---|---|
| 初回表示 | カバン・携帯、晴れ、東京都が選択済み。 |
| 変更 | カバンと携帯を両方解除し、曇り・沖縄県へ変更。 |
| 確認→戻る | 解除したチェックと変更後の選択が維持され、初期値へ戻らない。 |
| 対象外 | 異なるNAMEのフォームには初期値が入らない。 |
確認画面へ進む前に、初期値とは違う値へ変更します。チェックボックスは1項目だけ残す場合に加え、すべて解除した場合も試してください。ラジオボタンとセレクトは別の選択肢へ変更してから確認画面へ進み、戻った後の値を見ます。
下の「まとめた場合」のコードで上記の一連の操作を、1280px・375pxの実フォームで確認しました。初期値の指定は送信データの検証やメール配送を保証するものではありません。

Snow Monkey Formsで初期選択状態を指定する方法
やり方は簡単ですが、指定方法はコードになります。
フォームの作成
事前にチェックボックス・ラジオボタン・プルダウン(セレクトボックス)を作成します。

もちろん選択肢(オプション)も作成しておきましょう。
初期選択状態を指定する
あとはコードを作成するだけです。
チェックボックス・ラジオボタン・プルダウンのNAME属性と選択肢を入力する必要があります。
| チェックボックス | checkboxes-1inoornng |
|---|---|
| ラジオボタン | radio-buttons-1inoot987 |
| プルダウン(セレクトボックス) | select-1inopi47j |
下の個別例から必要なものを選ぶか、「まとめた場合」だけを使います。両方を同時に登録しないでください。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を停止・削除し、フォームとキャッシュを読み直します。プライバシーポリシーへの同意など、利用者本人の判断が必要な項目は初期選択にしないでください。
よくある質問:Snow Monkey Formsで初期選択状態を指定する方法
Snow Monkey Formsで、初期選択状態を指定できますか?
記事では、チェックボックス、ラジオボタン、プルダウン(セレクトボックス)の初期選択状態を、PHPフィルターで指定する方法を紹介しています。利用中のバージョンのブロック設定で目的の初期値を設定できる場合は、そちらを先に使ってください。
コードは、どこに追加しますか?
記事では、子テーマのfunctions.phpなどのPHPスニペットの一方に追加します。親テーマやフォーム本文にはPHPを貼りません。PHP開始タグも重ねないでください。
個別の例と、まとめた場合は、どう使い分けますか?
記事では、下の個別例(チェックボックス:カバン・携帯、ラジオボタン:晴れ、セレクトボックス:東京都)から必要なものを選ぶか、「まとめた場合」だけを使います。両方を同時に登録しないでください。NAME属性は実際のフィールド名、初期値は実際の選択肢の値に置き換え、表示ラベルと送信値が異なる場合は送信値を指定してください。
別のフォームにも、初期値が入ってしまいませんか?
記事では、フィルターはNAME属性で判定するため、別フォームで同じNAMEを使うとそちらにも適用されます。対象フィールド名を他フォームと重複させないでください。検証では、異なるNAMEのフォームには初期値が入りませんでした。
利用者が変更した値が、初期値に戻ることはありませんか?
記事の検証では、カバン・携帯を両方解除し、曇り・沖縄県へ変更して確認画面へ進み、戻っても、解除したチェックと変更後の選択が維持され、初期値へ戻りませんでした。チェックボックスは1項目だけ残す場合に加え、すべて解除した場合も試し、ラジオボタンとセレクトは別の選択肢へ変更してから確認画面へ進んで、戻った後の値を見てください。
同意の欄は、初期選択にしてもよいですか?
記事では、プライバシーポリシーへの同意など、利用者本人の判断が必要な項目は初期選択にしないでください。記事の見本でも、必須の同意欄は初期選択にしていません。
元に戻すには、どうしますか? 検証の範囲は?
追加PHPを停止・削除し、フォームとキャッシュを読み直します。記事では、1280px・375pxの実フォームで確認し(2026年10月2日、WordPress 7.1.2・SWELL 2.19.0・Snow Monkey Forms 13.0.0の隔離環境)、初期値の指定は送信データの検証やメール配送を保証するものではなく、実メールの送信は検証していません。実際の送信テストはテスト用宛先で行います。最新は公式で確認してください。



