2014/6/21(土) に開催されたオープンソースカンファレンス北海道にて、WordPress と baserCMS のセミナー & ブース出展を行ってきました!

今年はSaCSS(sapporo.css)ブースも加わり、メンバーのみなさまのご協力のもと、無事終了することが出来ました。ありがとうございました。
baserCMS ブースには、福岡より海老庵さんも! baser に興味を持っていただいた方の質問にたくさん答えてくださいました。(さすが)
マリメロちゃん製作のわぷーと、コモモさん製作のべっしーのかぶりものにより、いつにもましてブースも華やか(!?)に。 OSC らしい演出で良かったです。 

カリスマプログラマー
WordPress セミナー
ショッピングカートのサンプルテーマを使って、カスタムフィールドやカスタム投稿、フィルターフックの使いどころなどを、スクリーンキャストで実際にカーソルを動かしながら紹介しました。

ひろましゃ
テーマの名前は wordCart。 実は baserCMS でつくった baserCart を OSC のために WordPress に移植したものです。

スクリーンキャストを使っている関係上、スライドだけだと意味不明なので、ここでは fucntions.php のコード断片を紹介しておきます。
商品の入れ物となるカスタム投稿と、カスタム分類の作成。
add_action( 'init' , function () { |
register_taxonomy( 'item_tag' , |
'label' => '商品タグ' , |
'show_ui' => true, |
'hierarchical' => true, |
'rewrite' => array ( 'slug' => 'item/category' , 'with_front' => false) |
register_post_type( 'item' , array ( |
'menu_position' => 5, |
'supports' => array ( |
'title' , 'editor' , 'thumbnail' , 'custom-fields' ), |
'has_archive' => true, |
'rewrite' => array ( 'slug' => 'item' , 'with_front' => false) |
商品に添付されたメディア(画像)をテンプレートファイルから取得する関数。
$images = get_children( array ( |
'post_parent' => get_the_ID(), |
'post_type' => 'attachment' , |
'post_mime_type' => 'image' , |
'order' => 'ASC' )); |
foreach ( array_keys ( $images ) as $key ) { |
array_push ( $img , wp_get_attachment_image( $key , 'full' )); |
return array_reverse ( $img ); |
投稿ページを固定ページに割り当て、フロントページにカスタム投稿のアーカイブを出力するための pre_get_posts フィルターフック。
add_filter( 'pre_get_posts' , function ( $wp_query ) { |
if (is_admin() || ! $wp_query ->is_main_query()) { |
if ( $wp_query ->is_home() && $wp_query ->get( 'pagename' ) == '' ) { |
$wp_query ->set( 'post_type' , 'item' ); |
フロントページでカスタム分類アーカイブと同じテンプレートファイル(taxonomy.php)を使うために、選択されるテンプレートファイルを変更するための template_include フィルターフック。
add_filter( 'template_include' , function ( $template ) { |
if ( $wp_query ->is_home() && $wp_query ->get( 'pagename' ) == '' ) { |
return get_taxonomy_template(); |
各商品の下に Trust Form プラグインで作成したフォームを配置するための、the_content フィルターフック。
add_filter( 'the_content' , function ( $content ) { |
if (get_post_type() == 'item' ) { |
今年は少し製作よりの内容とさせていただいたのですが、セミナーで伺ってみたところ、来られた方の半数以上 WordPress 製作を行われている方とのことで、実際にサイトを作る際のヒントになりましたら嬉しく思います。
baserCMS セミナー
baserCMS セミナーでは、スライドとスクリーンキャストで baserCMS の特徴を説明させていただきました。
スクリーンキャストなしだと短いですが、端的に baser の特徴が分かると思いますので、よければご覧ください。(スライドシェアにアップロードしたら、すごいフォントになったですが、ノリでご覧ください。。)
前日までの数十時間におよぶ準備や、WordPress から2コマ連続セミナーだったのもあり、途中から放心にて事前録画のスクリーンキャストの内容を忘れてしまい、ぐだぐだになってすいません。。セミナー後に途中からしにそうになっていたと聞きました。。
それでもセミナー後にブースにいくつも質問をいただいたり、アンケートで面白かったと書いてくださった方がいてくれたりで嬉しかったです! ありがとうございました。
OSC北海道 2014 大懇親会
終了後の大懇親会は、アサヒビール園にてジンギスカンパーティー 

後ろにいるのは…!!w
OSC運営スタッフのみなさま、お疲れ様でした!
翌日
OSC北海道の翌日は、海老庵さん、モリコ、マリメロ、コモモで美瑛・富良野観光へ。 

ジェットコースターロードすごい。
来年のOSCも楽しみです。