独自に追加したショートコードをContact Form 7のフォーム内に記述してもそのまま出力されるだけで展開されません。
例えば、固定ページなどで使うために以下のようなサイトURLを返すショートコードを追加することがよくあるのですが、[home_url]をContact Form 7のフォーム内に記述してもサイトURLに変換できません。
if (!function_exists('shortcode_homeurl')) {
function shortcode_homeurl() {
return home_url();
}
add_shortcode('home_url', 'shortcode_homeurl');
}
プライバシーポリシーへのリンクを付けたいとか、Contact Form 7のフォーム内でも独自のショートコードを使いたいケースはあると思います。
そこで今回は、Contact Form 7のフォーム内でも独自のショートコードが展開されるようにする方法をご紹介いたします。
Contact Form 7のフォーム内で独自のショートコードを使えるようにする方法
フォーム内でショートコードを展開できるようにするためには、wpcf7_add_shortcodeを使ってショートコードを追加してあげます。
以下のように、追加しているショートコードの関数に1行追加してあげるだけでOKです。
if (!function_exists('shortcode_homeurl')) {
function shortcode_homeurl() {
return home_url();
}
add_shortcode('home_url', 'shortcode_homeurl');
wpcf7_add_shortcode('home_url', 'shortcode_homeurl');
}
あとがき
上述した方法で無事Contact Form 7のフォーム内でもショートコードが展開されるようになりました。
フォーム内でショートコードが使えない時は、ぜひ参考にしていただければと思います。