【Contact Form 7】不要なpタグやbrタグを出力されないようにする
WordPressのContactForm7を使った時に不要な<p>や<br>タグが表示されることがあります。
今回はその不要なタグを表示されないようにする方法を紹介します。
不要なタグを表示されないようする方法
WordPressをインストールしたディレクトリのwp-config.phpを編集します。
まず、下記コードを探します。
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
上記コードの一行上に、下記コードを追加します。
define ('WPCF7_AUTOP', false);
これで不要なタグが表示されないようになります。
注意点
wp-config.phpは少しでも間違った書き方をするとサイトに多大なる影響を与えるので、本番のファイルを編集する場合は必ずバックアップを取りましょう。
最終的にこのようになっていれば大丈夫です。
define ('WPCF7_AUTOP', false); // これを追加
/** Sets up WordPress vars and included files. */
require_once( ABSPATH . 'wp-settings.php' );
そもそもなぜ不要なタグが表示されるのか
ContactForm7のデフォルトの設定だと、ビジュアルエディタ上で改行などがあった場合、それに応じて自動で「<p>や<br>タグを追加する」という処理がされるからです。
下記のようにビジュアルエディタでコードを書いている場合、
[email* email]
<div>text</div>
サイト上では下記のようなHTMLに変換されます。
<span class="wpcf7-form-control-wrap email">...</span>
<br>
<div>text</div>
そこで先程のdefine ('WPCF7_AUTOP', false);をwp-config.phpに追記することで、この処理をされないようにします。
もしwp-config.phpを編集出来ない場合
何らかの理由でwp-config.phpを編集出来ない場合、今回の問題点は解決出来ませんが、場合によっては、ビジュアルエディタ上で改行などをしないなどの対応でも今回の問題点が解決する場合もあります。
例えば、下記コードだと不要な<br>タグが表示されてしまいます。
[email* email]
<div>text</div>
しかし、このコードを下記のように一行で書けば、不要な<br>タグが表示されません。
[email* email]<div>text</div>
可読性が悪くなってしまいますが、一応このような方法でも対策が可能です。
まとめ
今回の方法はwp-config.phpを編集します。
前述の通り、wp-config.phpはサイト全体に影響を与えるので、いつも以上に注意して作業をしましょう。