この記事は、作成日から11年経過しています。内容が古い可能性があります。またこの記事は、大幅なデザイン変更前に書かれたものですので、レイアウトが崩れている可能性があります。ご了承ください。
WordPressの問い合わせフォームのプラグインといえば、ContactForm7という方も多いと思います。私も以前は利用しておりましたが、最近はTrust Formというプラグインを使うことが多いです。簡単なフォームで良い場合は、JetPackの問い合わせフォームを使う場合もありますが。
ただ、このプラグイン若干困っていたことがありました。それは、フォームを表示しているページのthe_contentにあたる部分の最上部にtrust_form_input_nonce_fieldと_wp_http_refererのinputタグが表示されてしまうことです。もちろん、必要なタグなのですが、Form内の最下部に表示されているので、the_contentの最上部には必要ないと考えています。また、弊社の場合は、Head内のdescriptionタグに自動で本文の50文字程度を読み込むように設定しており、このタグが表示されてしまうとやや不具合があります。
原因は、上記タグを出力しているwp_nonce_field関数の設定にありました。この関数は、フォームのテンプレートであるtrust-form-tpl-.php内に2箇所あります。これを以下ように変更すれば現象が解消されます。
(変更前)wp_nonce_field(‘trust_form’,’trust_form_input_nonce_field’);
(変更後)wp_nonce_field(‘trust_form’,’trust_form_input_nonce_field’,true,false);
wp_nonce_field関数は、既定値では、その関数が記述されている場所で書き出すようになっています。よって、最上部に記述されていたようです。
※本記事はTrust Form Ver1.8.4 (PHP5.4.x, WordPress3.8.1) で発生した現象をもとに記載しています。その後のバージョンアップで解消されている可能性もあります。
コメント