Contact Form 7のショートコードをテンプレートで使用したい場合は以下のように do_shortcode()
を使用し、その中にショートコードを記述する。
hoge.php
<div class="entry-content">
<?php echo do_shortcode( '[contact-form-7 id="1" title="example form"]' ); ?>
</div>
idとtitleは移行の際など変わってしまう恐れがあるた、自動で取得したい。
そういった場合は以下の方法で取得できる。
hoge.php
<?php
$get_form = get_posts(array('post_type' => 'wpcf7_contact_form', 'posts_per_page' => -1, 'name' => 'form'))[0];
?>
<div class="entry-content">
<?php echo do_shortcode( '[contact-form-7 id="'.$get_form->ID.'" title="'.$get_form->post_title.'"]' ); ?>
</div>
注意点としては、'name'で指定する値は 最初に登録した投稿タイトル ということ。
最初に "お問い合わせフォーム" とした場合は、いくら投稿タイトルを編集しても "お問い合わせフォーム" のまま変わらない。
変更されても問題ないので逆にありがたいかもしれない。
ちなみにデフォルトで入っているテスト投稿は "contact_form_01" となっている。(うろ覚えなので間違ってるかも)