このゆうそうとブログでは今まで自分が行ったいろいろなカスタマイズについて書いてきました。ブログはだいぶ前から書いているので「当時の環境と今の環境が違う」とかその他、コピペするとなぜかコードがおかしくなる問題などで正常に動かなくなる場合があります。functions.phpをいじったときなどはWEBサイトが真っ白になったりするの焦ります。
WEBサイトにあるコードを使ってカスタマイズするときの注意点やあらかじめどのようにしておくと安心かなどについて書いてみたいと思います。
WEBに書いてあるコードをコピペしたときに動かない原因は?
WEBに書いてあるコードをコピペしたときに「思い通りに動かない」とか「WEBサイトが真っ白になってしまった」というようなことは、、、よくあります(^_^;)。
その原因はいくつかあると思うのですが、ある程度原因がこれかなーと思うところがあるので書いてみます。
情報が古い場合、環境がその当時とは異なっているので動かない可能性がある
大概の場合、WEBで情報を見たときはその情報がいつ書かれたのかということが書いてあると思います。たとえばこのブログなら
こんな感じに、作成日(2014/2/19)や更新日(2014/3/13)が書いてあります。ITの世界はドッグイヤーとも言われてこのように3年以上前の記事だと古い記事と思っていただけたらよいと思います。1年以上の記事ならちょっと古いなぁと思ってもらってもよいと思います。
情報が古い場合、環境がその当時とは異なっているので動かない可能性がある ということを覚えておいていただければとます。
WordPressのバージョンで言うと当時のバージョンは 3.7 “Basie” でしたが、現在のバージョンは 4.9 “Tipton” です。WordPressのカスタマイズをする上でバージョンは大きく影響してきますので、ここまで違うと当時のカスタマイズの通りに動かない可能性は高いです。
それだけでなく、たとえばブラウザのChromeは当時のバージョンが33.0.1750でしたが、現在のバージョンは56.0.2924となっています。バージョンがこのぐらい進んでいるとそのブラウザの機能もだいぶ違ってきています。
そのような原因により、古い情報は今の環境では正しく動かないかも?ということを念頭に置いておかれた方がいいかと思います。
ちなみに上記の記事は古いですが、今でも動くと思います。古いから全部動かないという訳ではありません、そのあたりがややこしいところです(^_^;)。
WEBからコピペしたコードの半角スペースがなぜかおかしくなってしまう問題
WEBにあるコードをコピーしてペーストしたときに一見なにも問題がないように見えるのですが、動かしてみるとFatalエラーなどを起こしてWEBサイトが真っ白になってしまう場合があります。
何度かこれを繰り返してやっと原因がわかったのですがどうも「2つ以上の半角スペースが違うものになってしまう」問題が生じる場合があるようです。
UTF-8の0xC2A0問題 【ブログ掲載のソースをコピペして、動作しないときに疑うべきこと】
こちらの情報を参照してようやく他でも同様の現象があるのだなということがわかりました。
自分でこのゆうそうとブログのコードをコピペしたときも、よくこの問題が起こってしまいます。そのような場合はコピペしたコードの冒頭の半角スペース(に見える)部分
をエディタなどで削除してから半角スペースを同じ数だけ入れて、保存し直す、ということをしています。そうすると同じように見えるコードでも動かしたときにエラーが出なくなります。
コピペしたコードの半角スペースがおかしくなる場合があるのでそんなときは自分で上書きする ということを覚えておいていただければと思います。
そもそもコードが間違っている!
自分で時々やってしまいますが、動くようにコードを作ってからブログに貼り付けるときに「ここの表示は個人情報が入っちゃうから書き換えよう」とか「余計なコードは削除しよう」とかいうことをしてから貼り付けるときがあります。そんなときにうっかりと「修正後のコードをテストしていない状態」で貼り付けてしまい、実はそのコードをちゃんとコピペしても動かない!という場合があります。
その他様々な理由で(コピーする範囲を間違えている)コードが間違っている可能性はあります。
コードは間違っている可能性がある ということを覚えておいていただければと思います。
phpの開始、終了などの問題
functions.phpファイルは主にphpコードが書いてあると思います。phpコードは
<?php で始まり、?>で終わるという仕様になっています(ただし、ファイル最後の?>はなくてもいい)。
コードをコピペするときにその仕様を理解していないと間違った貼り付け方をしてしまう可能性があります。
コピーしたいコードに<?phpが入っていたとして、貼り付けたいfunctions.phpの部分にも既に<?phpが書いてあり、そのphpが?>によって閉じられていない部分に貼り付けると
<?php
なんらかのphpコード
<?php
なんらかのphpコード
なんらかのphpコード
?>
のようになってしまい、<?phpという開始したコードが終了する前に<?phpという開始のマークを入れてしまうために、エラーになってしまいます。
コピペしたコードを貼り付けるときは<?php で始まり、?>で終わるという仕様を理解して貼り付けるようする ということを覚えておいていただければと思います。
その他の理由は数限りなくあると思います
その他の理由は数限りなくあると思います。たとえば
・今までfunctions.phpはshift-jisで作られていて、ファイル中に日本語がなかったが日本語を入れるとコードが正しくない(正しくはutf-8)のでエラーになる
・自分で見ながらコードを入力ときに間違えてしまった(半角スペースではなく全角スペースを使ったとか、終了の半角セミコロンを全角セミコロンにしてしまったとか)
というようなことで動かなくなることもあると思います。
その他の数限りない理由により、カスタマイズしたときに動かなくなる可能性がある ということを覚えておいていただければと思います。
カスタマイズするときのおすすめの方法
ここまで書いたように、いろいろな原因でWEBサイトが正常に動かなくなる可能性があるのでWEBに書いてある情報(このゆうそうとブログを含む)でWordPressのfunctions.phpやテンプレートを修正するときにはお勧めの方法があります。
ローカル環境で試してみよう
可能であればローカル環境(xamppやmampやLocal by Flywheel)を作っておいて、そこにWordPressをインストールして、あなたのWEBサイトをローカルでも動くようにしておきます。
そして、ローカル環境でこれから行いたいカスタマイズを試してみてうまく動いたら本番環境(後悔されているサーバー)で同じカスタマイズをすればほぼ間違いないかと思います。
ローカル環境の作り方については、以前も書いたのですが新しい情報で近々ブログ記事を書こうと思います。
本番環境のファイルを触る前に、ファイルを保存して、ファイルをアップロードできるようにしておきましょう
先ほど書いたようないろいろな理由でWEBサイトからコピペしたコードが原因で真っ白になる可能性はありますので、functions.phpやテンプレートを修正する前には、必ずコピーを取っておきましょう!
FTPでローカルのPCにコピーしておいてもいいし、ダッシュボードの外観>テーマの編集で表示したfunctions.phpやテンプレートをコピーしてローカルのテキストファイルに保存しておいてもいいかと思います。
修正した直後、WEBサイトが真っ白になってしまった場合は、「元のfunctions.phpやテンプレートに戻せば直る」はずですので、FTPなどで保存してあった修正前のfunctions.phpやテンプレートをアップロードすれば直ります。
ダッシュボードにも入れなくなる可能性があるので、必ずファイルがアップロードできるようにしておきましょう。一般的にはFTPソフトを使ってファイルをアップロードできます。FTPソフトに必要なサーバーやIDやパスワードの情報はサーバーを借りたときに情報をサーバー会社からもらっているはずです。
私の知っている限りだとロリポップやさくらインターネットはファイルのアップロードがサーバーの管理画面からも行えるので、FTPソフトがなくてもファイルをアップロードすることができるようです。
FTPする際はくれぐれも間違ったフォルダにアップロードしないようにご注意ください。
おまけ:本日自分のブログの通りにやってできなかったという情報を見て焦りました
本日あるフォーラムでこのブログの通りにやってできなかった(真っ白になった)という情報を見てとても焦りました(^_^;)。以前から自分でも「このブログの通りにやってもできない可能性はある」ということはわかっていたので、そのことの注意と修正する前にしておいた方がいいことについて書いてみました。
うまく動かない!というときはコメントいただければ、現在のWordPressで動くかどうかぐらいは試せますのでぜひコメントいただければと思います(^^)/
コメント