Wordpress触ってました
ちょっと友人に頼まれた作業でワードプレスを触ってたのですが面白いですね
ちょっと前にネット界隈でも話題になってたみたいですし、せっかくなので触ってみた感想でも。
僕はMT触ったことないんで、比較とかはできないですが。
インストールがすごく簡単
初回の設定項目が少ないので、導入が簡単でした。
サーバにアップロードして、WEB上でのウィザードに従うだけなので楽です。
直接設定ファイルを書き換えたりもしなかったような。。。
独自に作成したPHPを実行するのが楽
ワードプレスには、ブログの記事と別に、独立したページを作成する仕組みが備わってます
ページには自分で作成した独自のテンプレートを設定することができるのでその中でPHPをがりがり記述することができました
既存の機能や、プラグインで対応できないようなことをするページの場合、PHPの知識があれば自由に作成することができます。
ただ、共通して使うような関数やクラスをどう設置したらいいのかちょっとわかりづらかったかも。
ワードプレスに用意されている関数がたくさんあり、わりと整理されている(印象を受けた)
大抵の処理に複数の関数が用意されています。
たとえば、the_titleという関数は、現在の記事のタイトルを表示します。
同じような関数でget_tileを使用すると、現在の記事のタイトルを取得します
つまりこんな感じに記述すると
<?php the_title()?><br/> <?php get_title()?><br/> <?php echo the_title()?><br/> <?php echo get_title()?><br/>
記事のタイトルがほげほげだとすると以下のように表示されます(NULLて文字が表示されるわけじゃないけど)
ほげほげ NULL ほげほげNULL ほげほげ
つまり、テンプレートとして使うだけの関数と
PHPコード中で使用するための関数が用意されていて、テンプレートだけ記述するときにはechoって書かなくても言いいようになってるんですよね、すっきり。
関数によっては引数でechoするかどうかのオプションが用意されているものもありました。
ちなみに複数の記事の一覧を取得するときにこういった感じで書きます。
<?php while(get_posts):if(the_post()):?> 記事タイトルは <?php the_title()?> です。 <?php endif;endwhile;?>
記事タイトルを変更したり、記事の内容によって色々判定させたいなどPHPの処理を入れたいときは、オブジェクトを使用するためにこんな感じで
<?php foreach(get_posts() as $p):if(the_post()):?> 記事タイトルは <?php echo $p->title ?> です。 <?php endif;endforeach;?>
関数に渡す引数が文字列
これはちょっと驚いたんですけど、おそらくテンプレートとして使用するときの利便性をあげるためなのかな、配列じゃなくて、クエリストリングと同じようなフォーマット(key=valueを&でつないだ形式)で関数に引数を渡します。
<?php $hoge = query_posts(array("order"=>"ASC"))?>
でなく
<?php $hoge = query_posts("order=ASC")?> の用な感じで使用します。
たしかにテンプレートの中で使用するならこっちのがいいですね。
まとめ
全体的に、テンプレートとしてPHPを記述しやすいようにしつつ、PHPをごりごり書きたいっていうための人のためにも
ちゃんとオブジェクトで扱うような関数が用意されていて、わりと自由にカスタマイズできました。
その分ただでさえ多いPHPの関数が、さらにWP用の関数が追加されているので、リファレンスは必要だなぁと感じました。
ウェブをあたってもいいのですが、どうしてもデザイン周りのカスタマイズの記事が多いので
探すのがちょっと大変な印象です。
ちなみに僕は最初に、カスタマイズ初心者向けの本を買ったのですが
この本自体は、カスタマイズをする上でどのファイルをどう弄ればいいのかというのが載っててすごくわかりやすかったのですが、
細かい関数などの記述がなかったんですよね。
ゼロから構築し学びたい方にお勧め
なのでそれとは別に、関数のリファレンスを買いました。
他に同じようなものがあるのかわかりませんが、逆引きなのと、索引がしっかりしてるのとで使いやすいですね。
不満があるとすれば関数やオプションの対応バージョンに対しての記述が少ないのと、本自体が大きいところでしょうか。
PHPのポケットリファレンスのようなものがあれば良かったんですが。。。
ワードプレス関係の書籍はどっちかというとテンプレートをカスタマイズして
デザインを自由に変更する目的で作られてる本が多かったので、この本は重宝しました。
今回せっかくワードプレスを覚えたし、また何か作ったりしたいですね!