MW WP Formセレクトボックスに特定カテゴリーの記事タイトルを自動で表示させたい!

ワードプレス

2021-10-25

フォームセレクトボックスの選択肢をカテゴリーと連動

フォームの質問事項が頻繁に変わるとき、例えば商品が変わる度、注文フォームをいちいち修正するのは慣れていないと大変です。
新しい記事をアップしたら自動でフォームのセレクトボックスに記事タイトルを追加させたい…。そこで、MW WP Formで特定カテゴリーの記事タイトルをフォームセレクトボックスの選択肢にできないか、調べてみました!

MW WP Form フィルターフック

MW WP Formのセレクトボックスだけではなく、ラジオボタン、チェックボックスの選択肢をカテゴリーと連動させることのできるフックについて解説してくださっているMW WP Formマニュアルのページがありました。
こちらを参考に実装させていただきます。

MW WP Formの編集

まずはフォームを作ります。
12行目のセレクトボックスの選択肢に「qualification」というスラッグのカテゴリーの投稿記事タイトルが出力される予定です。

<table>
<tr>
<th>お名前</th>
<td>[mwform_text name="your-name" class=""]</td>
</tr>
<tr>
<th>メールアドレス</th>
<td>[mwform_email name="email" placeholder="半角英数字で入力してください"]</td>
</tr>
<tr>
<th>ご希望の講座</th>
<td>[mwform_select name="course" children=":選択してください" post_raw="true"]</td>
</tr>
</table>
<div class="contact_btn">
[mwform_submitButton name="submit" confirm_value="確認する" submit_value="送信する"][mwform_bback class="modoru" value="back"]戻る[/mwform_bback]
</div>

 

function.phpに追加

function.phpに下記コードを入れます。

//MW WP Formセレクトボックスに特定カテゴリーの記事タイトルを表示
function add_select_item_course( $children, $atts ) {
if ( $atts['name'] == 'course' ) {
$arg = array(
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC',
'category_name' => 'qualification'
);
$cat_posts = get_posts( $arg );

foreach( $cat_posts as $cat_post ){
$children[$cat_post->post_title] = $cat_post->post_title;
}
}
return $children;
}
add_filter( 'mwform_choices_mw-wp-form-★★★', 'add_select_item_course', 10, 2 );

 

3行目「course」はセレクトボックスにつけたnameです。
8行目は連動させたいカテゴリーのスラッグ「qualification」になります。
18行目の★★★にはフォーム識別子の数字が入ります。

お名前
メールアドレス
ご希望の講座

セレクトボックスに特定のカテゴリーの記事タイトルが自動で出力されました!ありがとうございます!!

-ワードプレス

関連記事

固定ページでphpを使いたい

例えばトップページを固定ページで作成したとき、お知らせの新着一覧を固定ページ上で好きな位置に配置したいな、と考えたことはありませんか?

WordPressのお引っ越し。アイキャッチ画像の移行も大丈夫?

プラグインを使ってWordPressを移行する WordPressの移行で今よく使っているのが、アイキャッチ画像もちゃんと移してくれる「Attachment Importer」です。(「WordPre …

特定のページだけにcssやjsを読み込ませたい!

JavaScriptやcssのファイル、読み込まれるのに時間がかかりページが重くなります。 必要なページだけにリンクさせたいですよね。 今日はページごとにファイルをリンクする方法をまとめました! ❶h …

アイキャッチ画像を出力するテンプレートタグ(& object-fit)

分岐でアイキャッチ画像を表示させたい! アイキャッチ画像を設定しない場合、何か代わりの画像を出力させたい こちらはアイキャッチ画像が設定されていない場合「no-image.png」を表示させる例です。 …

【MW WP Form】フォーム入力が必要なダウンロードボタンを作りたい!

MW WP Formで作る資料ダウンロード用フォーム 先日、お客さまの要望で「名前などを入力してもらってから資料をダウンロードできるような仕組みにしてほしい」というのがありました。 登録すると資料がも …