2019.04.10 - Note

「解決」Contact Form 7の特別なメールタグが表示されない

症状

Contact Form 7は送信メールの内容をカスタマイズでき、自動で情報を記入してくれるタグが用意されています。
その中で投稿関連の特別なメールタグ[_post_id]、[_post_name]、[_post_title]、[_post_url]、[_post_author]、[_post_author_email]を使ったときに送信メールの内容に出てこず空文字になってしまいました。

特別なメールタグ – Contact Form 7
https://contactform7.com/ja/special-mail-tags/

原因

メールフォーム用のショートコードをテーマファイルに
<?php echo do_shortcode(‘[contact-form-7 id=”10″]’) ?>
のような形で読み込んでいたのですが、投稿のループ外で読み込んでいたので、問題が起きていました。

送信時に「_wpcf7_container_post」というデータで、どのページからなのかページIDを送っているのですが
ページIDが正しく取得されず、値が「0」となっていました。

それにより
special-mail-tags.php内の

の処理で空文字が返されていたようです。

解決方法

・管理画面の投稿欄にショートコードを貼り付ける
・テーマファイルに記入する場合は投稿記事のループ内にショートコードを記入する

コメントを残す