WordPress の Post Snippets で PHP Code 使う際、ヒアドキュメントを使うと「unexpected $end 〜」が出る:解決

この記事を書いた背景

WordPress には、自作のショートコードを簡単に作ることができる Post Snippets と言うプラグインがあります。

しかも、PHP コードを利用したショートコードを作ることもできるので大変重宝しているのですが、ヒアドキュメントを使うと「unexpected $end 〜」が出るという問題に当たったので、原因の確認と解決方法について調べたのでメモします。

原因

PHP におけるヒアドキュメントというのは、変数などに対して複数行の文字列をまとめて渡すことのできる言語機能です。

次の様に書くことで、3行表示させることができます。

echo <<<_EOT_
ここに
複数行の
コンテンツ
_EOT_;

このコードを Post Snippets プラグインの Snippet の最後書こうとすると、Post Snippets の動作として Snippet の文字列に Trim (空白文字列の除去)を行うらしく、終了文字列がないというエラーを吐きます(unexpected $end〜)。

Post Snippets PHP Code ヒアドキュメントでエラー

解決方法

となると、様は Trim されても大丈夫にすれば良いと言うことで、今回は次の様に最終行に「;」を追加しました。

echo <<<_EOT_
ここに
複数行の
コンテンツ
_EOT_;
;

これで、Trim されても「EOT」のあとの改行が消されなくなるので、エラーしなくなります。
「;」はステートメントの終了を表す記号なので、複数あっても問題はありません。

まとめ

解決方法としてあまりスマートではないかも知れませんが、まぁ一つの方法かと思います。

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す