お問い合わせフォームにカテゴリーやタグの一覧を読み込ませる方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。

先日にお問い合わせフォームにカテゴリー名の一覧を読み込ませたいとご相談がありました。ご自身で途中までカスタマイズされていたので少しの処理を追加して無事解決。下記でご紹介させていただきます。

使用するプラグインは「Contact Form 7」です。過去に書いた記事があるのでリンクを貼っておきますね。

ワードプレスで管理者と申込者へ自動返信メールを送信できるお問い合わせフォームを設置する方法

カスタム手順は下記をご参照ください。

お問い合わせフォームにカテゴリーやタグの一覧を読み込ませる方法

お伺いすると運営サイトのカテゴリー名を一覧で取得したいとのご希望でした。下記の解説記事では投稿のカテゴリー名をまとめて読み込んでいますがカスタム投稿タイプのカテゴリーやタグも指定可能です。

下記が管理画面で確認できる「投稿のカテゴリー名」ですね。

実際に取得した状態が下記となります。

カスタマイズに必要な情報は下記3つ。

・お問い合わせフォームのID
・ドロップダウンメニューのタグ
・カテゴリーのタクソノミー

お客様から届いたソースコードに手を加えて「カテゴリー名の一覧を取得する状態」へ書き換えました。

add_filter( 'do_shortcode_tag', function( $output, $tag, $attr ) {
	if ( 'contact-form-7' === $tag || 'contact-form' === $tag ) {

		// お問い合わせフォームのID
		$id   = 1;
		// ドロップダウンメニューのタグ
		$name = 'menu-name';
		// カテゴリーのタクソノミー
		$tax  = 'category';

		if ( $id == $attr['id'] ) {
			$terms = get_terms( $tax, array( 'hide_empty' => false) );
			if ( !empty( $terms ) && !is_wp_error( $terms ) ) {
				$options = '<option value="">選択してください</option>';
				foreach( $terms as $term ) {
					$options .= '<option value="' . esc_attr( $term->name ) . '">' . esc_html( $term->name ) . '</option>';
				}
				$output = preg_replace( '/(<select .*?name="' . $name . '".*?>)(.*?)(<\/select>)/i', '${1}' . $options . '${3}', $output );
			}
		}
	}
	return $output;
}, 10, 3 );

作成したフォームのIDは下記ですね。

ドロップダウンメニューのタグはフォーム内で確認しましょう。

そしてタクソノミーはURLバーからコピーすればOK。

カスタマイズは以上となります。

まとめ

本日は「フォームにカテゴリー名の一覧を読み込ませる方法」を解説いたしました。

上記でも解説した通りカスタム投稿タイプのカテゴリーやタグも指定可能です。以前に「カスタム投稿タイプでタグを追加する方法」も記事にしているのでカスタム時はぜひ併せてご参考くださいませ。

本記事がお問い合わせフォームのカスタマイズでヒントになれば幸いです。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する

💻ウェブサイト運営でお困りの方へ

⇒ WordPressの設定ミスを即日で解決  安心の定額サポート

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報だけでなくお好みの機能をいただければ専属スタッフが心を込めて真摯に対応させていただきます。お気軽にお問い合わせください。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください