4年ほど前だとクライアント側で更新ができるよ!ってことでMovable Typeが流行って、
最近の案件だとそれがWordPressに変わってきてる。
静的なページを書き出した方がサーバの負担が減るとか、
別サーバへの移行が楽とかMovable Typeを使うメリットはあると思うけど、
ライセンス料が無料でプラグインが揃ってるからということでWordPressの方が人気がでてる。
あとは再構築にかかる時間がないことかな。
そんなこともありWordPressでサイトを作る案件が進んでるところ。
WordPressを使ってみて
で、実際やってることはと言えばテンプレートにWordPressの関数を書いて、
必要なデータや記事を表示させてるだけ。
簡単じゃん!と思いきや、
これまで自分でテンプレートを書いたり変更したりしてなかったので、
よくわからないまま調べつつ進めてる感じ。
PHPならなんとかなるかな!と思ってコードを読み初めて思う。
え?これ汚くない?
WordPressのコードは残念だというのをどこかで見たことがあったけど、
確かに残念だったぜ。
それはさておき、
気づいたことを書いておこう。
HTML+PHP → 混ぜるな危険
ごめんなさい。フレームワークってやっぱり偉大です。
MVCですね。
全部まとめてファイルに書いてはいけません。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
↑から始まる残酷な物語を君はまだ知らない。
ビューとロジックが入り組んでると頭がごっちゃになります。
まさにこれ↓
なぜ僕は WordPress を使わないで Movable Type を使い続けるのか。
でもそれこそがWordPress!フリーダムCMSの醍醐味。
頑張ってなんとかしましょう。
多すぎる関数
このサイトの人はよくまとめたなー。
すごい!
関数:WordPress私的マニュアル
これを見て思うのは、どこから手を付ければいいんだろうと。
目的に沿ってお好きに選ぶのはいいけど、
ここまで多いと探すのに時間かかるよ。
え?引数にカスタムフィールド名を渡したい?
まずはカスタムフィールド情報を取得する関数を探してください。
基本的(独創的)な文法
こんな書き方WordPressでしか見たことがないから慣れるのに時間がかかった。
<?php if 条件 : ?> 処理 A <?php endif; ?>
えー!
<?php if 条件 : ?> 処理 A <?php else : ?> 処理 B <?php endif; ?>
えー!!
if文の前後や間には通常のHTMLが入ります。
容赦なく入ります。
設計
条件分岐をさせたいときとかに記事の投稿IDが知りたいときがあるんだけど、
その取得方法がこちら。
テンプレートタグ/the ID
<?php the_ID() ?>
theってなんかかっこいいなおい。
実装、
function the_ID(){ global $id; echo $id; }
オマイガっ!
詳しくは↓を見てください。
テンプレート内で投稿IDを取得する
テンプレートを効率的に書くための気遣いなのかなんなのか。
大丈夫!どこでも取得できるようにglobalにしといたからね★ by WordPress
リンク先でも書かれてるけど普通に変数名ぶつかるよ。
WordPressって無理やり追加しました的な関数が多いな。
感想
一度出来上がればあとはクライアント側での更新なのでいいけど、
それまでにどんだけ悩まなくてはいけないのか。
そんなWordPressは個人ユーザーを中心に今日も順調にダウンロードされ続けています。