気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

PHPプログラミングの教科書 [php1st.com]

WordPressのPHPでショートコードを呼び出す方法

投稿日:

WordPressのPHPテンプレートの中でショートコードを呼び出す方法を紹介します。

PHPにショートコードを入力してもうまくいかない

PHPテンプレートの中に次のようにショートコードを入力するかもしれません。

テンプレートにショートコードを入力

テンプレートにショートコードを入力

このショートコードは機能せず、そのまま表示されてしまいます。

ショートコードが機能しない

ショートコードが機能しない

PHP内のショートコードにはdo_shortcodeを使う

PHPの中にショートコードを入力する場合はdo_shortcodeという関数を使います。

テンプレート内のショートコードにはdo_shortcodeを使う

テンプレート内のショートコードにはdo_shortcodeを使う

入力したコードは次のようになります。

<?php echo do_shortcode('[contact-form-7 id="226"]'); ?>

これにより、ショートコードが機能するようになります。

ショートコードが機能する

ショートコードが機能する

do_shortcodeのポイント

do_shortcodeを使うときのポイントは次のとおりです。

do_shortcodeの書式は次のとおりで、指定したショートコードが実行されます。

do_shortcode(ショートコード)

文字でショートコードを指定する場合は次のようになります。ショートコードを半角のシングルクォーテーション「'」またはダブルクォーテーション「"」で囲みます。

do_shortcode('ショートコード'); ?>

実際の使用例は次のようになります。

do_shortcode('[contact-form-7 id="226"]')

ショートコード内で「"」で囲まれた文字がある場合、ショートコードは「'」で囲む必要があります。その逆も同じです。

つまり、次のような記述はエラーになります。すべての記号が「"」のため、何の開始・終了の目印なのか区別できないからです。

do_shortcode("[contact-form-7 id="226"]")

do_shortcodeで呼び出すショートコードから何も表示されない場合は「echo」を付けてみましょう。echoは文字を画面に表示する命令です。

echo do_shortcode('[contact-form-7 id="226"]');

また、テンプレート内に上記のコードを書く場合、PHPの開始・終了タグが必要になるでしょう。これでecho do_shortcodeを使ったショートコード呼び出しは完了です。

<?php echo do_shortcode('[contact-form-7 id="226"]'); ?>

-WordPressのPHP

Copyright© PHPプログラミングの教科書 [php1st.com] , 2018 All Rights Reserved Powered by AFFINGER5.