SNSフォローボタン

ショートコードの結果を設定した場所に正しく表示する方法

add_shortcode() を使い、ショートコードを作成してコード内で表示を行った場合、結果がショートコードを設置した場所に正しく表示されないといったことが起こります。

// Hello, My Shortcode! を表示するプラグラム
function my_shortcode() {
    echo 'Hello, My Shortcode!';
}
add_shortcode('shortcode', 'my_shortcode');

こちらですと、”Hello, My Shortcode” はショートコード[shortcode]を設置した場所ではなく、本文の先頭に表示されてしまいます。

ob_start() と ob_get_clean() を使うことで、ショートコードを設置した場所に正常に表示を行うことができます。ob_get_clean() は return します。

// Hello, My Shortcode! を表示するプラグラム(修正)
function my_shortcode() {
    ob_start();
    echo 'Hello, My Shortcode!';
    return ob_get_clean();
}
add_shortcode('shortcode', 'my_shortcode');

こちらでショートコード[shortcode]を設置した場所に正常に表示が行われます。

PHP 部を一旦終了することで echo を使わずに表示させることも可能です。

function my_shortcode() {
    ob_start();
?>
<p>Hello, My Shortcode!</p>
<?php
    return ob_get_clean();
}
add_shortcode('shortcode', 'my_shortcode');

スポンサーリンク

渡邉 剛(Watanabe Go)

EC サイトを簡単に構築できる Welcart プラグインのカスタマイズ対応を始めとして、WordPress サイトの制作、修正カスタマイズを承っております。静岡県掛川市在住。

お問い合わせ

WordPress やプラグインのカスタマイズについてのご相談、ご依頼がございましたらこちらよりお問い合わせいただければと思います。サイトの修正のご相談のみでも大丈夫です。お気軽にご連絡ください。こちらで入力された内容は外部には公開されません。

お名前 *

ポジション

メールアドレス *

内容 *

記事のシェアはこちらからどうぞ。