友人のWordPressサイトを作った所感
友人のサイトを、WordPressで作りました。
http://naototakahashi.com/
高橋直人という男で、高校卒業後ドラム一筋の男です。ロックっぽいとげのある叩きぶりが特徴でしたが、由緒正しきドラミングレッスンも受けたみたいで、最近は強さの中にも落ち着きがある頼もしい叩きぶりに変わってきました。専門的なことはよう知らないけど。
そんな彼の最近は、サポートの仕事も増えて来たみたいで、「なおと君Webサイトとかないの?」と聞かれるようになり始めたみたい。Webには一切造詣のなかったアナログ男がついに一念発起して自己紹介サイトを始めることにしました。俺はそれのお手伝い。
はじめてちゃんとWordPressをさわる
すごい!機能も充実しているし、開発者も盛り上がってて良い記事がたくさん落ちてるし、これでいろんな種類のサイトを作ってみたい。プラグインも無数にあって、今回使わせてもらったのはEvent Calendar 3 | WordPress.org。DBは勝手に作ってくれるわ、未来のイベントのみのリストを表示したりしてくれるわ、とても高機能。でもカスタマイズはちょっとし難かった。
クセがあると感じたところ
クセというか、最低限必要なAPIの知識なんですが。
まず、記事データは基本的にloop内で取得するという暗黙の了解がある。で、当然他の場所でも必要になる場合が出てくるわけで、今回、サイトトップで以下のようなコードを走らせた。
<?php if (is_home()): // スケジュールかブログで、30日以内に更新されたもので、最新のものをポップアップさせる。 $pop_today = mktime (0, 0, 0, date("m"), date("d"), date("y")); $pop_unix_monthago = $date_today - 86400*30; $cat_id_schedule = get_category_by_slug('schedule')->term_id; $cat_id_blog = get_category_by_slug('blog')->term_id; $pop_posts = get_posts('numberposts=1&category='.$cat_id_schedule.','.$cat_id_blog.'&orderby=date'); $p = $pop_posts[0]; setup_postdata($p); $pop_date = get_the_modified_date('n/j'); $pop_unix = mktime (0,0,0, get_the_modified_date("m"), get_the_modified_date("d"), get_the_modified_date("y")); $pop_cat = get_the_category($p->ID); $pop_cat = $pop_cat[0]->slug;// これを下で使う $pop_isDisp = ($pop_unix > $pop_unix_monthago) ? true : false ; if($pop_isDisp) :?><script type="text/javascript">// home $(function(){ $b = $('#access li.bubble'); if ($b.length) $b.popupBubble({showFirst: true,position: [-20, 50]}); }); </script><?php endif; endif; ?>
早い話、loopでない所で記事データを取得しようとすると「setup_postdata()」が必要ということだった(間違っていたら教えてください!!)。そういう「こういう場合はこれがなきゃだめ」みたいなのって知らなきゃどうしようもないことだし、それがわからなくて大変だった。あとはテーマのファイル名を決められたものにしなきゃいけないなど(テンプレートの優先順位。これは初歩?)、そういうのとか、Wordpressってルールの範囲がわりと大きくて、目的を限定したフレームワークみたいだなって思った。
次に挑戦したいこと:カスタム投稿タイプ
WordPress3.0beta1でカスタム投稿タイプを具体的に使う | wpxtreme
この方が紹介している通り、更新する人にとって一番大切なのは、日々の更新に無駄な煩わしさがないこと。この記事のえびちゃんがわめくシーンが見所。
カスタム投稿タイプはマスターしたい。それで、使う人「専用の管理画面」があることが、WordPressを選ぶ理由ってことにしたい。
でもまだ良くわかってない。カスタム投稿タイプって、記事データとして保存されるの?おなじように検索できるの?その辺を理解することが課題です。