前提
functions.phpで作成したショートコードを挿入したら画面の一番上(ヘッダー)に表示されてしまった。
本来の挿入箇所はサイドバーだった。
原因
PHPコードでechoを使用していたため
解決
echoの代わりにreturnを使う
ショートコードハンドラー関数の返り値はショートコードマクロの代わりに投稿コンテンツの出力へ挿入されます。 echo ではなく return を使うようにしてください。echo されたものはすべてブラウザへ出力されますが、ページの適切な箇所に表示されません。
ショートコード API
ページの適切な箇所に表示されませんって書いてあった…。