Contact Form 7 一覧

Contact Form 7のラジオボタンを必須項目に(2017年度版)

今回はWordPressでの超定番のフォーム用プラグインContact Form 7でのラジオボタンの必須項目化についての解説です。

このContact Form 7ではショートコードの項目にアスタリスクを加えて[text* name]のような形にすることで必須として指定することができます。
しかし、ラジオボタンに関しては[radio*]としても必須にはなりません。
Contact Form 7の作者は見解のようにHTMLの正しい仕様ではないということでプラグイン側では対応しないようです。

まあ、是非はともかく、顧客側の要望もあり、いたしかたない部分もあるように思います。
Contact Form 7でwpcf7_checkbox_shortcode_handler()という関数にフックさせることで必須項目化するという記事が紹介されていたため、早速試してみました。

しかし、ラジオボタン自体が出力されません・・・

確認してみたところ、[radio*]というショートコードの登録まではうまくいっているものの、呼び出すwpcf7_checkbox_shortcode_handler()関数自体が存在しないため、何も処理を行わず終了しているようです。

たしかにcheckbox.phpの中にもwpcf7_checkbox_shortcode_handler()は見当たりません。
しかし、似たような処理を行っているwpcf7_checkbox_form_tag_handler()という関数を見つけたため、この関数を呼び出してみたところラジオボタンが出力されました。
ちゃんと必須項目として動作しています。

ラジオボタンの必須項目化

ラジオボタンの必須項目化

わたしが確認したのはContact Form 7バージョン4.6ですが、おそらくバージョンアップにより関数名が変更になっているんですね。
現時点ではネット上のほとんどの情報では動作しないと思います。

ということで、新しい関数名での指定は下記をfunctions.phpに追加して[radio* sex “女性” “男性”]のように指定すれば必須項目として動作します。

Contact Form 7で403エラー

メールフォーム定番プラグインのContact Form 7で新規フォームの作成や既存データの編集を行おうとすると403エラーが発生する現象に見舞われました。
はじめに気がついたのはヘテムルでしたが、ロリポップなど、他のレンタルサーバでも見受けられるようです。
どうやらこれはサーバ側で順次導入が進んでいるWAFの影響のようです。
続きを読む

Contact Form 7の送信完了画面がでない

お手軽にお問い合わせフォームなどを設置できるContact Form 7

添付ファイルも送信でき、シンプルで初心者にも使いやすいフォームプラグインだと思います。

もちろん高機能なPHP・CGIプログラムなんかと比較すると、「あれもこれも欲しい!」という部分が出てくるのですが、その中でももっとも必要性を感じるのが送信完了画面です。 続きを読む