WordCamp 2009 Tokyo、午後の休憩以降の内容です。Ktai Style, プラグインの作り方について。

Ktai Style による携帯対応

スピーカー: 池田百合子さん (Yuriko.Net)

WordCamp 2009: 池田百合子さん WordCamp 2009: Ktai Style: ドコモとウィルコムでの出力例

  • 日本での Web アクセスは、半分は携帯から
  • 携帯に対応することで 2倍のアクセスが見込める。
  • 5キャリアすべて、キャリアポータルに検索フォームがある
  • 携帯サイトで検索 … 公式サイト – 携帯サイト – PC サイトの順に並ぶ。
  • 携帯電話の制約 … 画面が小さい、ポインティングデバイスがない
  • 日本特有の注意
    • UTF-8 ではなく Shift-JIS を使用
    • 絵文字、半角カナの多用
    • 個体識別符号を使ったユーザー認証
    • 上下キーでリンクを移動 (ソフトバンク、イーモバイルでは上下左右移動が可能)
  • WordPress の素のサイト … AJAX を使用 – 携帯で見られない
  • 携帯対応ツール … WP Mobile Edition, WordPress Mobile Plugin, wp-ktai.php,
    Mobile Eye, Mobile Eye+, MobilePressNeo それぞれ obsolete だったり問題がある

Ktai Style の特徴

  • 長い内容を自動分割
  • 絵文字対応
  • QVGA に画像縮小
  • 簡易ウェブログ管理機能
  • 携帯キャリアごとの仕様の違い … ドコモとウィルコムは絵文字が互換、
    au とソフトバンクはスタイルシートが使える
  • テーマ 6種類
    • Monolith と Green は Inline CSS を使用している。
    • Loving はコメントの数でハートマークの形や数が変わる。
  • 訪問者のためにも携帯対応してほしい
  • 無償で使えるツールでは最強レベル
  • 携帯対応のデメリット … 変なコメントがつく。携帯クローラーがうざい。

Q&A

  • 自動アップグレード対応 … 即答できないが、JSeries が対応したらできると思う。
    現行テーマファイルが wp-content の下にあるのは自動アップグレードを考慮している。
  • 相性の悪いプラグインは wp-cache 以外には … All in One SEO Pack など、ktai Style 側で対応しているものがある。

20分で見るプラグインの作り方

スピーカー: 田中広将さん (hiromasa.another :o) )

  • wp-tegaki, wp-kougabu, wp-jrelated 作者
  • wp-tegaki … tegaki ショートコードで、入力した文字列を手書きフォント表示
  • filter を使ったプラグイン
  • 例: サイトにコメントをくれた人の、サイト全体へのコメント数を名前の横に表示
  • comment author に付与するため、get_comment_author filter を使用
  • MySQL の table に対して SQL を発行。wp_posts, wp_comments, wp_postmeta etc.
  • デモのため Debugger (Eclipse) でステップ実行デモ

名前の横に☆をつける

[code language=”php”]
/*
(プラグインヘッダ略)
*/
function wpcomcom($author) {
return $author, ‘☆’;
}

add_filter(‘get_comment_author’, ‘wpcomcom’);
[/code]

件数の取得

  • $wpdb->prepare メソッドを使うと、安全に SQL 文字列を作成できる
  • 値の取得は $wpdb->get_var, $wpdb->get_cols etc… SQL の戻り値によって使い分け
  • Email アドレスは get_comment_author_email() が使える

[code language=”php”]
/*
(プラグインヘッダ略)
*/
function wpcomcom($author) {
global $wpdb;

$count = $wpdb->get_var(
$wpdb->prepare(
(SQL 文字列)
);
);
}

add_filter(‘get_comment_author’, ‘wpcomcom’);
[/code]

数を画像に変換

  • Plugin のフォルダ取得 … plugins_url が利用できる
  • images/ に画像を格納

[code language=”php”]
/*
(プラグインヘッダ略)
*/
function wpcomcom($author) {
global $wpdb;

$count = $wpdb->get_var(
$wpdb->prepare(
(SQL 文字列)
);
);

$img = plugins_url(‘wp=comcom/images/’);
if($count >=0 && $count <=5) {
(件数による条件分岐)
} else {
}

}

add_filter(‘get_comment_author’, ‘wpcomcom’);
[/code]

  • サンプルプラグインの問題点 … get_comment_author が動作するところだと、どこでも動いてしまうので、Conditional Tag で条件を制限した方がよい
  • 似たような動作をする Plugin を解析するのが早道

Part 3 に続きます。