6月25日の「オープンソース・カンファレンス2010北海道」で行われたセミナー
「世界標準ブログツールWordPressの最新版3.0と豊富なプラグイン」のレポートです。
講師:WordBench札幌の田中さんのセミナー資料はこちらです。
http://another.maple4ever.net/archives/1270/
拙記事ではセミナー内容の捕足、実務で扱うものとしての雑感などを交えます。
まだ3.0をちゃんといじっていないので、3.0についてはあくまで聞きかじりの段階であることはご了承ください。
WordPressはCMS
WordPress3.0は6/25時点で1,121,440ダウンロード
WordPressは時系列主体のサイトに強いように思われますが、「暮しの手帖」のような時系列に添わない、個性的な一覧ページを持ったサイト構築も充分可能です。
とは言え、様々な実務案件を経験してきた視点から言えば、静的ファイルとの共存が難しい、テーマファイルの見通しが良くないなどの欠点から多人数で連携して制作するサイトにはあまりおすすめできません。
尚、私のブログもWordPressです。一覧ページの体裁が普通のブログと違っていたり、a-blog cmsベースの本サイトとインクルードで連携していたりします。
と鬢0のようなコンテンツマネーシ鬢0メントシステムということを知る にはそのテ鬢0ータ構造を知ることか鬢0早道て鬢0す。
WordPress 3.0 の新機能を交えまして、ます鬢0は WordPress の テ鬢0ータ構造を紹介していきます。WordPressのデータ構造(記事情報)
ポストとページの二種類=post_type
- ポスト:時系列(日記/新着情報など)
- ページ:固定的(自己紹介)
ポストとページのメタ情報
- タイトル
- 投稿日・投稿者
- 修正日
- ハ鬨0スワート鬢0
- トラックハ鬢0ック先
- 分類情報(カテコ鬢0リ・タク鬢0・タクソノミー)
- リヒ鬢0シ鬢0ョン
- 等々
WordPressの記事情報は時系列とカテゴリーによって分類することを前提にした「ポスト(記事)」と、1ページごとに独立した「ページ」に分類されます。
ただ、ページでも時系列の整理が可能だったり、後述の「カスタムタクソノミー」でうまくタグ分類すると、両者の区別はほとんどつかなくなってきます。
この辺りの特徴は、MovableTypeと非常に良く似ています。
カスタム投稿
WordPress3.0からの新機能
ポスト/ページに加えて新しいタイプを定義できるタイトル不要/日付不要/トラックバックが必要/などなど
旧来のポスト/ページもカスタム投稿のひとつとして
デフォルト実装されている=再定義ができる
カスタム投稿機能は、マルチブログ以上の目玉機能なんじゃないかと思っています。
上の説明の通り「必要/必要ない項目」を自分で定義することが可能なので「タイトル・本文がなく、カスタムフィールドのみで構成された記事」などの大胆な構成も可能なようです。
MovableType4以降で登場している「表示オプション」に近い印象です。
管理画面上の入力項目の順番設定はできるのか、旧来のプラグインや表示パフォーマンスへの影響はないかなど気になるところもありますが、使いこなせば無償で使える軽量CMSとしての良さが増しそうです。
カテゴリーとタグ
記事に対する抽出条件のひとつ
1. カテゴリー→階層構造を持たせられる
2. タグ→フラットな分類カスタム分類(タクソノミー)
任意のセット分類を追加できる
1サイトに複数のタグクラウドを生成できる2.9から機能強化
ただし分類の新規作成はプラグインが必要(custom-post-type-ui)
カスタムタクソノミーは、「複数の独立した階層カテゴリーを作成できる機能」と解釈した方がいいと思います。前バージョンから概念自体は存在していましたが、3.0以降では、管理画面からの設定が可能になりました。
こちらの記事で詳しく説明されている通り、導入の手順が面倒な割に必要性が薄い機能だったりします^^;
カスタムタクソノミー(Custom Taxonomy)の導入と使い方 [WordPress 3.0]
その他の情報
コメント
記事に対する外部からのコメントユーザー権限
複数のユーザーが投稿できるようにユーザー管理ができる
購読者/管理者/編集者/作成者/投稿者
管理画面のアクセス権限や投稿、修正制限
投稿から公開へのワークフローか鬢0持てるオプション
サイトの動作システム情報リンク先
他サイトとのつながりを格納する情報/XFNを使えるポストメタ(カスタムフィールド)
記事に対するここまて鬢0て鬢0出てきた以外のカスタムメタ情報を持たせる
ユーザー権限については捕足が必要です。
ほとんどの安価なCMSもそうですが、「上司」「部下」のアカウントがあって、部下が更新すると昇任者である上司に自動でメールが送られる…といった機能は、WordPress2.xの段階ではプラグインがなければできません。
MUと統合したWordPress3.0はもしかしたらできるかもしれないのですが、まだ未確認です。すいません。
2.xでの実装方法についてはこちらの記事を参照してください。
WordPress – 公開承認ワークフロー – 新規公開 | Technolog.jp
リンクの「XFN」というのは人間関係を表現したフォーマットなのですが、
なんで恋愛関係だけこんなに充実してますのん
と必要性に疑問を感じるわけですよ。ハイ。
その他の情報続き
マルチブログ
3.0から利用可能
これまて鬢0に出てきた情報を複数もたすことて鬢0、複数のサイトを持つデータフロー
管理画面操作からのデータベースへの格納
コメント者からのコメントの投稿
トラックバック/ピンバック
XMLRPC/ATOM経由でのデータベースへの格納出力系(テンプレートタグ)
WordPressテーマの実態
テンプレートタグはデータ構造をHTMLやRSSで出力する関数群
テ鬢0ータの抽出を行うルーフ鬨0系の関数を起点に、条件取得された 情報を取得
現在は主にフ鬢0ラウサ鬢0用に簡単に HTML 出力する機能か鬢0提供されている
注目していたマルチブログですが、今回のセミナーではデータ構造の説明の一部にとどまりました。
MovableType4、SOY CMSのように管理画面からウィザードを介して作成できるのかと思っていましたが、現時点では外部からの.htaccessの編集などが必要なようです。
サブドメインも想定して設計されているのはありがたいところです。
WordPress 3.0で複数ブログを使う設定 « lainforest.org
出力系の説明にある通り、WordPressのタグはテンプレートエンジンではなく、PHPの関数です。
なのでテーマにはそのまんま関数を書きます。
PHPをある程度かじれば融通が利くのがありがたいところですが、プログラマさんがWordPressのテーマファイルを見たら、ちょっと面食らうかもしれません。
プラグイン
add_filter/add_actionで既存のタグ/関数に自作関数をフックできる
既存の関数も全てフックされているので不要なものを除外できるfunctions.phpでテーマ専用の関数を定義できる
※簡単に実装できる反面、プログラム構造を追うのに慣れがいる
フィルターの例
記事の特定文字列を加工し、HTMLを付与
(記事中の「hiromasa」をタグで囲む)ショートコード
([tegaki]0[/tegaki]で囲んだ箇所がカスタムフォントに変わる)アクション(template_redirect)
通常のテーマに情報を渡さず、携帯用テーマの処理をさせる(例:Ktai Style)ウィジェット
サイドバーのウィジェットを追加する管理画面への機能追加
3.0からの新テーマはヘッダー画像を差し替えできる時間指定実行(wp_cron)
コアには既に予約投稿の機能がある必要なプラグインがあったなら「コア機能に対する変更」という視点で
調査を行うと比較的簡単に実現可能既存のプラグイン修正時もコアのどの部分に介在しているのかを調査し、
そこからソースコードを追うとわかりやすい
WordPressは「フック」という概念でコア関数を管理しています。
既存のタグに新しい関数を定義する「add_filter」と
add_filter( 'the_content', 'hogehoge' );
WordPress内の特定の処理で関数を発動させる「add_action」があります。
add_action( 'wp_head', 'hogehoge' );
「コアのどの部分に介在しているのかを調査し、そこからソースコードを追う」というのが、プログラミングに慣れていないと難しいです。
phpファイルを内部検索できるソフトなどで調べる手もありますが、
WordPressのコアファイルを公開している、こちらのサイトが便利です。
PHP Cross Reference of WordPress
ページ右上にあるサーチボックスからタグ名、関数名を入力するとどのファイルの何行目にコードがあるのか、を調べることができます。
WordPressの魅力
ブログを起源とするプロダクトだがデータ構造がシンプル
特に3.0から基本構造や分類の解放を行っているためCMSとしても使いやすくなった個性が強いブログサイトを構築する手段としても人気があるので
テーマやプラグインに美術的なものが多く配布されている個性をた鬢0すへ鬢0く、システムもそれに答える形て鬢0拡張されていく
テーマやフ鬨0ラク鬢0インからの介在の余地か鬢0大きく
様々な要求に応えられるカスタマイス鬢0か鬢0可能サイトへの導入実績が多くそのノウハウが得られやすい
WordCamp/WordBenchなどオフラインコミュニケーションも活発で楽しい
WordBenchについて
WordPress の地域コミニュティー
実はWordBench札幌としてのオフライン活動はこのOSC北海道か鬢0初めて参加お待ちしております
http://wordbench.org/
セミナーのレポートは以上です。
田中さんが述べられているように、WordPressはPHPの知識があれば柔軟なカスタマイズができることが魅力です。
このためかデザイナーが介入しやすく、芸術品のようなテーマ、とても無料とは思えないような高度なテーマが多数公開されています。
管理画面の完成度の高さも特筆すべきところです。
一方で「安くて簡単でなんでもできる」という情報が一人歩きしてしまい、WordPress の仕様では困難な案件、ライセンス料をかんがみても他のCMSの方が安心して運用できそうな案件もWordPress前提で来ることが増えているのが、私の悩みだったりします。
そういう意味で、新機能を派手にアピールするのでなく、WordPressを更に詳しく知るための解説に徹した田中さんのセッションは好感を持ちました。
MUと統合し、更に奥深くなったWordPressはこれからも注目すべきCMSだと思います。