WordPressの初心者がfunctions.phpの編集でエラーを防ぐ為に気を付けたいこと。
WordPressをより便利にカスタマイズしたい場合、functions.phpへの記述は避けて通れない作業です。
しかし、functions.phpは他のテンプレート(header.php等)に比べると、とてもデリケートで、ちょっとしたミスがダッシュボードへログインできなくなったり、サイトが閲覧できなくなってしまいますので、注意が必要です。
functions.phpの記述ミスで引きおこる可能性があるエラー
- サイトが真っ白になる(サーバーによってPHPのエラーが表示されない為)
- サイトにエラーコードが表示されるだけ
- ダッシュボードにログインできない
- functions.phpで記述したテキストが文字化けする
functions.phpの編集をする前にしておくこと
functions.phpは、初心者だけでなく、プロでも稀に記述ミスをすることもあります。
それによりエラーが起こった時に、さっと解決できるのは 現在正常に機能しているfunctions.phpのバックアップを取っておくことです。
これにはFTPからテーマファイルへアクセスしてfunctions.phpをダウンロードする必要があります。
これなら エラーが起こっても、すぐにバックアップファイルを上書きすれば元に戻ります。
functions.phpの基本的なルール
functions.phpは開始と終了のタグがあります。この間に いくつの自作関数を入れても問題ありません。
たまに関数毎に開始タグと終了タグを入れているテーマを見ますが、これはエラーを引き起こす可能性があります。
開始タグの前、終了タグの後にはスペースや改行をしないように気を付けましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //開始タグ //関数記入例 function remove_hwstring_from_image_tag( $html, $id, $alt, $title, $align, $size ) { list( $img_src, $width, $height ) = image_downsize($id, $size); $hwstring = image_hwstring( $width, $height ); $html = str_replace( $hwstring, '', $html ); return $html; } add_filter( 'get_image_tag', 'remove_hwstring_from_image_tag', 10, 6 ); //関数終わり //新しい関数はこの下に追加していく ?> //終了タグ |
他のサイトからコピペする際等はテキストエディター等に一度コピーしてから、それを再度コピペして使うと良いです。
※他サイトからのコピペの場合、改行やスペース等、目に見えないものも含まれます。
functions.phpはhtml形式の記述と混在できるので注意が必要です。
編集したらエラーになってサイトが表示されなくなった。
何かが・・
functions.phpの編集や保存(文字コード)方法
functions.phpは文字コードをUTF-8(BOM無し)という設定で保存する必要があります。
これはテキストの見た目では分かりません。他の文字コード等を使用するとエラーの原因となります。
又、functions.php内に記述した日本語が文字化けするなどのエラーも同様の原因が考えられます。
functions.phpの編集をするエディターの条件
※ 文字コードを指定でき、UTF-8(BOM なし、UTF-8N)で保存できること。
functions.phpの編集に使ってはいけないエディター
※ Windows のメモ帳(Notepad) — UTF-8 BOM なし保存が不可
※ リッチテキストエディタ、Word等ソフトで書かれたテキスト — バイナリファイルとなるため不可
functions.phpの編集に適したエディター
・ EmEditor(Windows)(シェアウェア版・フリー版)
・ サクラエディタ(Windows)(フリーウェア)
・ TeraPad(Windows)(フリーウェア)
・ 秀丸エディタ(Windows)(シェアウェア)
ソフトでファイルごと文字コードを変換する
フリーのソフトでファイル(functions.php)を一発文字コード変換できるKanji Translatorというものがあります。
これも便利です。
Kanji Translator→