ショートコード関数内で、echoやprintやincludeなどで直接文字列を出力すると、
文字列があさっての場所に表示されることがあります。
その場合はバッファリングしておいて、最後にreturnするとキチンと表示されるようになります。
(ショートコードの使い方はこちら 👉 [WordPress] 投稿記事中でPHPコード実行 (Exec-PHPでエラー))
文字列バッファリングには、”ob_start()”関数と”ob_get_clean()”関数を使います。
// functions.php function printHello() { // バッファリング開始 ob_start(); echo "Hello, Shortcode!"; // バッファリング出力 return ob_get_clean(); } add_shortcode('hello', 'printHello');