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’);みたいにページテンプレートの方で処理できると、結構便利じゃないかなあと思いますし、ソースコードも綺麗になる気がしますし、カスタムフィールドテンプレートなんかと連動させれば、メンテナンサビリティも確保できそう。

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

加藤 康祐 / 企画・設計

プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。

加藤康祐企画設計

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

(2012-10-5)
売り上げランキング: 14,705
100円