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

  1. WordPressのPHP
  2. 26 view

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<?php echo do_shortcode('[contact-form-7 404 "Not Found"]'); ?>

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

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

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

do_shortcodeのポイント

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

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

do_shortcode(ショートコード)

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

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

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

do_shortcode('[contact-form-7 404 "Not Found"]')

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

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

do_shortcode("[contact-form-7 404 "Not Found"]")

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

echo do_shortcode('[contact-form-7 404 "Not Found"]');

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

<?php echo do_shortcode('[contact-form-7 404 "Not Found"]'); ?>

WordPressのPHPの最近記事

  1. WordPressダッシュボードのメニューを非表示にするremove_menu_page関…

  2. WordPressで中身が空のindex.phpは消しても大丈夫?

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

  4. is_categoryとin_categoryの違い

  5. wp_get_attachment_image_src関数の使用例

関連記事

PAGE TOP