WordPressテンプレ編集時の注意点

WordPressは、わかりやすいソースコードで記述されていて、プログラマでなくてもある程度のカスタマイズを実現できます。今回は、非プログラマが犯しがちな2つの落とし穴について解説します。

1. 文字コードはUTF-8を使うこと。

WordPressのソースコードはUTF-8です。Shift-JISでも、euc-jpでもありません。UTF-8です。エンコードを間違えると、文字化けするだけでなく、重大なエラーが発生し、最悪の場合はWordpressの管理画面が利用できなくなってしまう可能性さえあります。ソースコードは必ずUTF-8で保存してください。

utf-8以外で保存→文字化け

utf-8以外で保存すると文字化け発生!

2. HTMLコメントでコメントアウトしない。

テンプレートから要素を削りたいことってありますよね。たとえば、投稿日時や、投稿者情報、コメント欄など。でも、要素を削るために、HTMLのコメントアウトを使うのは危険です。

<!–<?php the_title();?>–>

上記のソースコード、タイトルを表示させないことを意図していますが、どこが危険なのか分かりますか?HTMLのソースコードを見られたらタイトルがばれるというのも問題かもしれませんが、本当の問題は、the_title()の中でHTMLのコメントアウトが出力され得るということです。HTMLコメントは、入れ子構造に対応していません。そのため、the_title()がHTMLコメントを出力すると、以下のようになり、表示が崩れてしまいます。

<!– <!– title –> タイトル –>

こうなってしまうことを防ぐためには、PHPのコメントアウト、もしくは、if文を使った実行制御で対応しましょう。

単行PHPであれば//で十分。

<?php // the_title(); ?>

複数行のコメントアウトはif文を使うと便利。

<?php if(0){?>
この部分はHTMLに出力されません。
<?php } ?>

もちろん、PHPの複数行コメントアウトである/* */も使えますが、/**/も入れ子構造に対応していません。なので、if(0){}で囲ってしまうのが一番確実です。

この記事は、Wordpressのテンプレート編集時の注意事項というタイトルで書きましたが、これらの注意点は、PHPなどのWebアプリケーションのソースコード(特にview部分)を書き換える場合には汎用的に使える知識です。

Facebookページもよろしくお願いします

CATEGORIES WordPressby.yasu.tanaka13 Comments2009.11.22
記事の投稿者
田中 康英
eラーニング支援部です。ときにメールマガジンを書き、ときにブログを書き、ときにソフトを翻訳し、ときに問い合わせに返信し、ときにUstreamスタジオの準備をし、とそんな感じでお仕事しています。

Facebook comments:

コメントをどうぞ

Eメールアドレスは公開されません。

Trackback URL

管理者の承認後に表示します。無関係な内容や、リンクだけで意見や感想のないものは承認しません。