ひょんなことからWordPressテーマのカスタマイズ講習をする機会をいただきました。
ブログ書いててよかったなー、と心底思ったわけです。
で、実際やってみると、第1回はほとんどWordPress自体の話はせず、それ以外の周辺知識の紹介で終わりました。
WordPressユーザーは仕事でマークアップをやっている人ばかりではないので、実はWordPressの構造がどうとか、テンプレートタグがどうとかの話をするまえに必要だった話をまとめておきます。
今回はたまたまWordPress講習でしたが、他のCMSを扱う際にも同様に必要になるであろう内容です。
独学でHTMLとCSSを覚えて、静的なサイトをつくれるようになったくらいの方相手だと想定してください。
1.文字コード
コンピュータで扱うデータには「文字コード」というのがありまして、方言みたいなものなんですよー、という話をしました。
いろいろあるけど、Shift-jis、EUC-JP、UTF-8くらい覚えとけばいいでしょうかね。
WordPressをはじめ、メジャーな多くのCMSは文字コードUTF-8を使用します。
テーマファイルなどもすべてUTF-8で保存する必要があります。
CMSに不慣れな方は、文字コードを意識せずに保存していまい、意図せずShift-jisになってしまっていることがあるようです。
また、UTF-8のBOMについてもよく見落とされる点ですね。
BOMとはなんぞやの説明は割愛しますが、通常のWeb制作でBOMありにしないといけないケースが思い付かないので、必ずBOMなしにしてください、と指導しました。
UTF-8 BOMなしのことをUTF-8Nともいうので、TeraPadではこれをえらぶようにということ、
一般的に「メモ帳」を使ってはいけない理由はBOMなしが選べないから、ということを説明しました。
またTeraPadに関していえば、前回UTF-8Nで保存していても、ソース内に日本語が全くない場合、次開いたときにShift-jisになるので気を付けよう!という話もしました。
改行コード
文字コード以上に馴染みのない概念だったみたいです。
なので、LF,CR,CR+LFがありますよっていう説明をしました。
一般的なWebサーバはUNIX系が多いので、改行コードはLFで保存しておきましょうという話ですね。
実際、テーマファイルくらいならCR+LFでもよっぽどエラーでることはないと思うのですが、
functions.phpやらプラグインファイルだとすぐ影響しますね。
サイトが真っ白!とか原因不明のエラーが起こったら、書き換えたファイルの改行コードを確認してみましょう。
(また、不要な改行が処理に影響することもあります。<?php … ?>の外に改行があればそれを消してみるのも有効)
3.PHPのタグの書き方原則
WordPressを始めるまで、.phpのファイルなんて目にしたことも無い方もいるわけで、まずはそこの理解が不可欠。
とはいえ、PHPについて教えたわけではなくて
- PHPのコードは<?php で始まって ?>で閉じる
- 各種開始カッコがあれば、必ず同じ数だけ閉じカッコがある
- エラーが出たら、カッコの閉じミスをまず疑え
ってくらいですね。とりあえずは。
4.コメントアウトの方法
HTMLだと<!– コメント –>、CSSだと/* コメント */ ってとこまでは大丈夫でしたが、PHPでも/* コメント */ っていうこと、
さらに
//これ以降がコメント
っていうところも教えておかないとその後の話の展開に支障が出る気がしたので、教えました。
5.エラーメッセージを恐れない
カスタマイズ中にカッコの閉じミスがあって、ブラウザで実行した時に
Parse error: parse error in C:xampphtdocswordpresswp-contentthemesthemenameheader.php on line 22
って表示されたので、
「あー、header.phpの22行目かその周辺でなんかミスってるんでそこ確認しましょうか」
って言ったら、「すげー!」って言ってもらえました^^
その瞬間に、はっと大切な事に気づく私。
CMSや動的処理に慣れていない方だと、英語のエラーメッセージが出ただけで拒否反応やらプチパニックやらになってしまうと思うのですが、絶対そこにヒントはあるので目を逸らさないようにしましょう、って教えました。
他にも。。。
今回の講習ではすでに受講者さんがローカル環境を作ってきてくださったのですぐWordPressを触れましたが、そうでなくて本当に初めてインストールするって方の場合、
- データベースとはなんぞや
- ローカル環境とはなんぞや
- サーバ選ぶときにPHPのVer調べないとだめよん
- 自信ない人はみんなが使ってる有名なサーバを選びましょう
- ディレクトリのアクセス権限について
っていう話も必要になりますね。
あと、余裕があれば
- .htaccessとはなんぞや
- パーマリンク設定とはなんぞや(mod_rewiteのこと)
もしたかったですが、余力がなく断念。
教えることは学ぶこと
わたし程度のスキルだとあまり深いことは教えられないので、せいぜいテーマづくりのはじめの一歩や、自分の苦労談の話になっちゃうのですが
それでも、人に教えるということは自分自身にもプラスになって返ってくるなぁと実感。
ブログにアウトプットするってことももちろんためになりますが、直接人に口で伝えることの力を改めて知りましたね。
最近あまりネタをストックしていないので、いかんなぁと思いつつ。
あー、結局WordCampも都合付きませんでしたね。
仕方ないので地道にコツコツネタ溜めします。