WordPress MW WP Formのセレクトボックスの選択肢をカスタマイズする方法

MW WP Form のセレクトボックス/ラジオボタン/チェックボックスの選択肢は “mwform_choices_mw-wp-form” という選択肢変更用のフックを利用することで自由にカスタマイズすることが可能です。

MW WP Form セレクトボックスの選択肢をカスタマイズ

以下のコードはセレクトボックスの選択肢のname属性が “mwform_select_grade” と “mwform_select_grade” の場合のみハードコードした配列の内容で上書きしています。

/**
 * MW WP Form セレクトボックスの選択肢をカスタマイズする
 * @param array $children
 * @param array $atts
 */
function ag_mwform_choices($children, $atts)
{
    if ($atts['name'] === 'mwform_select_age') {
        //年齢
        $children_age = ['2歳','3歳','4歳','5歳','6歳'];
        $children = [];
        foreach ($children_age as $age) {
            $children[$age] = $age;
        }
    } elseif ($atts['name'] === 'mwform_select_grade') {
        //学年
        $children_grade = ['未就園児','年少','年中','年長'];
        $children = [];
        foreach ($children_grade as $grade) {
            $children[$grade] = $grade;
        }
    }

    return $children;
}
add_filter('mwform_choices_mw-wp-form-xxxxxx', 'ag_mwform_choices', 10, 2);

// "xxxxxx" には MW WP Form のキー(投稿ID)に置き換えます

上記コードはハードコードした配列の内容で上書きしていますが、投稿データやメニュー等を呼び出して選択肢にすることも可能です。

動作環境情報

エックスサーバー(x10)
PHP 7.3.16
MySQL 5.7
WordPress 5.4.1

コメント

タイトルとURLをコピーしました