2013/2/14

WordPressのパーツのモジュール化のアイデア

まだ実装してないんですけど、最近閃いたのがあったので。例えばトップページのコンテンツとかクライアントが変更したいとかあるとするじゃないですか。という時にカスタム投稿タイプでモジュール作っちゃえばいいなあと思いました。

function create_post_type() {
    global $wp_rewrite;
    register_post_type( 'send_workshop',
        array(
            'label' => __( 'モジュール' ),
            'singular_name' => __( 'モジュール' ),
            'public' => true,
            'show_ui' => true,
            'capability_type' => 'post',
            'hierarchical' => true,
            'rewrite' => array( 'slug' => 'module' ),
            'has_archive' => true,
            'supports' => array(
                'title',
                'editor',
                'excerpt',
                'custom-fields',
                'page-attributes',
                'revision',
                'thumbnail'
            ),
        )
    );

で、これループでいちいち呼び出すの面倒くさいので関数作っちゃえば良いですよね。

function load_module( $posttype, $name) {
  $parm = array(
  'post_type'=>$posttype,
  'name'=>$name
  );
  query_posts($parm);
  if (have_posts()) : while (have_posts()) : the_post();
    echo the_content();
  endwhile;
  endif;
  wp_reset_query();
}

画像の登録とかやるなら、echo the_content();のところカスタマイズしなければですが、でも、load_module_topslide(‘module’, ‘slide1’);みたいにページテンプレートの方で処理できると、結構便利じゃないかなあと思いますし、ソースコードも綺麗になる気がしますし、カスタムフィールドテンプレートなんかと連動させれば、メンテナンサビリティも確保できそう。

これ色々応用効きそうな気がしてます。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263

加藤 康祐 / 企画・設計

1980年1月12日生まれ。フリーランス歴15年。プランナー、デザイナー。加藤康祐企画設計代表。学生時代にデザイン会社でWebデザインを経験。2005年よりフリーランスとしてキャリアスタート。これまでに個人から上場企業まで、100以上のクライアントとのプロジェクトを経験。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの編集・運営、社会的養護の子どもたちの自立を支援するNPOのサポート等。趣味はラグビーと料理。Keep the head up, Bind tight & Stay low.

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram