WordPress の MW WP FORM でカテゴリをチェックボックスの項目として表示する方法

WordPress の MW WP FORM でカテゴリ(ターム)をチェックボックスの項目として表示する方法を紹介します。
例えば、タームの項目を動的にチェックボックスの値にしたいときに便利な方法です。

フォームの準備

まずはフォームを準備して、フォームタグを追加します。

[mwform_checkbox name="products_category"]

フォーム用のタームを取得

続いてターム情報を取得します。
次のコードを function.php に追加します。

/*【MW WP FORM】動的にタームをチェックボックスの項目として表示する */
// 下の行の xxx を MW WP FORM で追加したフォーム詳細ページにある「フォームの識別子」の「修飾子」の値に変更
add_filter('mwform_choices_mw-wp-form-xxx', 'add_terms_list', 10, 2 ); // xxx を任意の値に変更
function add_terms_list( $children, $atts ) {
if ( $atts['name'] == 'products_category'){ // name属性が「products_category」の場合に実行
$tax_terms = get_terms('products_category'); // タクソノミースラッグを指定
// 投稿に紐づくタームの一覧を配列に格納
foreach($tax_terms as $tax_term){ // ループ処理開始
$children[$tax_term->name] = $tax_term->name; // ターム名を配列に格納
}
}
return $children;
}

まとめ

WordPress の MW WP FORM でカテゴリ(ターム)をチェックボックスの項目として表示する方法を紹介しました。