去る2012年10月14日(日) 千葉市蘇我勤労市民プラザにて開催された「第1回WordBench千葉勉強会」に参加した。
千葉県にゆかりのない私が参加してよいものかと迷ったものの、決めてとなったのはハンズオン形式だ。先月のWordCamp TOKYOではスケジュールがあわずに断念したハンズオン講座を、千葉で体験するぞ!と総武線快速に乗り込んだ。
前半は、
「パーマリンクをマスターしよう リライトルール・オールライト Lite版」
アクセスされたURLをパラメータに変換する規則を記録してあるのが、リライトルールだ。ダッシュボードにパーマリンクを設定する箇所があるのに、なにゆえリライトルールが必要になるのか?
いわれるままに、
[PHP]
1 |
[/PHP]
とやるだけでWordPressのリライトルールがいろいろ出てきた。
そして、ここに出てこない「auther/作成者名/年/月」という独自のパーマリンクを追加するのが本日の課題である。リライトルールを追加するには、アクションフックのinitを利用し、add_rewrite_rule()という関数で行う。
[PHP]
function add_author_monthly_archive_rule(){
add_rewrite_rule(‘author/([^/]+)/([0-9]{4})/([0-9]){2}/?’ .’index.php?author_name=&matches[1]&year=$matches[2]&monthnum=$matches[3]’);
}
add_action(‘init’, ‘add_author_monthly_archive_rule’);
[/PHP]
指定するURLパターンが正規表現のため苦戦するものの、これができると応用がきくのだ。たとえば、「/カテゴリー名/年/月」は、これまでにも要望をいただいたことがある形式だ。WordPressではできないよ!と言い張っていたのが悔やまれる。これからは、どんとまかせてほしいものだ。
ポイントとして、functions.phpにこのコードを記載しただけでは動作せず、パーマリンクの設定画面でいったん(デフォルト以外の)どれでもよいので「更新」ボタンを押すことが必要だ。この操作でリライトルールがoptionに保存される。
»講師のJim912さんによる資料はこちら
後半は、脱コピペプログラマー「PHPペアプログラミング大会」
参加者のだれかとペアになってカレンダーのプログラム作成である。千葉県在住の大学生と組むことになった。学生ながらもWebサービスを開発しているという、彼のzen cordingさばきに目を奪われた。秀丸派の私は後半のロジックで巻き返し、なんとか時間内に今月のカレンダーを表示することができたのだった。
書籍やネットでこのような情報をみるものの、ひとりではなかなか手を動かさないので、よい機会だった。おつかれまでした!
すごいです
http://wpmu.org/3-column-wordpress-themes/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Wpmu-Wordpress-Mu-PluginsThemesAndNews+%28WPMU.org+-+WordPress+MU+plugins%2C+themes+and+news%29
>nobitaさん、
こんにちわ!
あらこんなの知らなかったです、嬉しい!
Free 3-Columnは合ってるけど、High Qualityじゃないのにな?