ソースコードに余分な空白をいれない!
例えば、記事内の円をJPYに置換するプラグインは以下のように記述できます。
< ?php /* Plugin Name: YEN REPLACER Plugin URI: http://php7.jp Description: YEN2JPY Version: 1 Author: よういちろう Author URI: http://php7.jp */ function yen_filter($content) { return str_replace('円', 'JPY', $content); } add_filter ( "the_content", 'link_filter'); ?>
このプログラム。最初のの後ろに空白文字(スペース、改行、タブなど)が出力されていると、WordPressの動作に支障が出ます。プラグインを実行した際に空白文字がブラウザに出力されてしまい、HTMLやXMLの構造が崩れてしまうのです。HTMLであればソースが汚れる程度で済むのですが、XMLの場合は、ブラウザや外部のWebサービスが内容を理解できず、何も表示されないという自体が発生してしまいます。
PHPのプログラムでは、末尾に?>を記述する必要はありません。?>を記述することによるトラブルの方が多いので、末尾の?>は記述しない方がおすすめです。
問題のある例
<!— この部分に余計な記述があると問題が発生します —>
< ?php /* Plugin Name: YEN REPLACER Plugin URI: http://php7.jp Description: YEN2JPY Version: 1 Author: よういちろう Author URI: http://php7.jp */ function yen_filter($content) { return str_replace('円', 'JPY', $content); } add_filter ( "the_content", 'link_filter'); ?>
<!— 末尾にスペースが1つあるだけで挙動が変わるのでご注意ください。 —>