自作プラグインで競合発生?
WordPressのプラグインを初めて自作して、ちょっとトラブったのでメモ。
作ったプラグインは単純なもので、投稿記事中に短縮URLがあれば展開する、と言う代物。
このプラグインについては後日紹介するとして、これをWordpressにインストールしたところ、まず管理ページ上部に以下のエラーメッセージが発生。
「プラグインを有効化する際に1文字分の予期しない出力が発生しました・・・」
意味不明だったのでスルーし、投稿ページを見ると、ちゃんと短縮URLが展開されていることを確認。
な~んだ、エラーが出てもちゃんと動いてるじゃん。
と、思ったのが間違い。
よくよく見るとコメント欄にスパム対策として設置した、認証用の画像が表示されていない。
こちらは「Peter's Custom Anti-Spam Image Plugin for WordPress」と言うプラグインを設置したもので、以前当ブログでも紹介した。
「日本語でスパムコメントを退治」
はて?なぜだ?
上記自作プラグインをインストールした直後の不具合だから、コイツが悪さしていることは間違いない。
一旦、自作プラグインを停止させてみると、案の定、認証画像は表示された。
自作プラグインのコードを何度も見直したが、これと言った間違いもなさそう・・・。
で、たどり着いた解は・・・自作プラグインのコード末端に入っていたスペースでした。
PHPで書かれたプラグインのコードは""で終わるわけですが、この最後の"?>"のあとにスペースが入っていまして、これを削除したら上記認証画像表示の問題が解消。
何というケアレスミス・・・と言うか、ここにスペースが入ったぐらいで他のプラグインに影響を与えてしまうとは(+_+)
自作プラグインインストール時に出た「・・・1文字分の予期しない出力・・・」の1文字ってこのスペースの事だったんだね。
何事も忠告は真摯に受け止めなければ。