ショートコードを使ってPHPファイルをインクルードする方法についてechoするPHPファイルを読み込みたいとき表示がずれたので公式ドキュメントを調べました。
公式より抜粋
echo ではなく return を使うようにしてください。
echo されたものはすべてブラウザへ出力されますが、ページの適切な箇所に表示されません。
ob_get_cleanをリターンすればいいとのことでさっそく作成
function my_shortcode() {
ob_start();
include('phpfile.php');
return ob_get_clean();
}
add_shortcode('shortcode', 'my_shortcode');
phpfile.phpがecho するファイルでも【shortcode】で呼び出したとき正しく表示されるようになります。
