カスタム投稿タイプを使って『ScrapBook』という名のブックマークを目的とした子ブログを作成しました
メニュー欄とサイドのところからページへいけます。
その名のとおり、いろいろな情報をスクラップブックに貼り付けるがごとく作りました。
いわゆる完全な『俺得』というやつです。基本的にはジェネレーター関係が多めになると思います。

まだ記事が2つしかないのでちょっと貧素ですが、、、
その際に、思ったことなどなどをまとめていこうかなと思います。 ですが、大変長くなりそうなのでここで少しづつ分けて記事を書いていこうと思います。
ScrapBook作成 目次
- カスタム投稿とは? 作成方法をプラグインも含めて考える。← いまここ
- パーマリンクについて!
- 実際に作成してみよう!その1:トップページをつくる!
- 実際に作成してみよう!その2:シングルページをつくる!
- 実際に作成してみよう!その3:カスタム投稿タイプ一覧をつくる!
カスタム投稿とは?
まず、カスタム投稿タイプというものはなに?というところからのお話です。
カスタム投稿タイプというのは、WordPress 3.0 から使える様になった機能で、通常の投稿(Post)と固定ページ(Page)とは違う投稿を作りたい場合にこの機能を利用して作成します。
通常の投稿とは違う投稿というのは、 例えば、Tips的な要素のみを書いているブログに、日々の雑多な日記も書いていきたいなと思います。 でも、Tips的な要素と日記をひとつの投稿(Post)は違うデザインにしたい!というような時に。カスタム投稿タイプを使います。
ひとつのWordPressで、いくつかの大きな柱を持ったコンテンツが作成できるということですね。

カスタム投稿タイプを作成することのメリットは、記事の管理が楽になること。デザインを都度変更できること。などなどたくさんあります。
上記であげた例の他に、カテゴリーで分けるという使い方もできます。
カスタム投稿の作成方法
では、まずカスタム投稿を使える様にSettingしていきます。
カスタム投稿タイプを作成するには、おおまかに分けてプラグインを使って作成する方法と、functions.phpに書いて作成する方法と2種類あります。
まずは、プラグインを使って作成する方法から
1. プラグインを使って作成する方法
探せばあるWordPressプラグイン。あなたのご要望にいつでもおこたえしますWordPressプラグイン。 ※ 大事な事なので2回言いました。
使い方
プラグインを有効にすると、メニューに「Custom Post Type」が現れるので、「Add New」をクリックして、「カスタム投稿タイプ」を作成します。

「Advanced Options」をクリックして、オプションを表示します。

いろいろ入力する項目がありますが、必須なのは、投稿タイプ名とカスタムリライトスラッグ。
ここで注意。投稿タイプ名:scrapbooks、カスタムリライトスラッグ:scrapbookのように、複数形と単数系にしておく必要があります。以上で、Setting終わりです。簡単ですね。
Settingが終わったら、これを表示させるページづくりをします。
ページづくり
子ブログとして作成せず、デザインの変更等なく今あるテーマを活用するならば、single.phpをまるっとコピーして、single-投稿タイプ名.phpで作成すればOK!。
ですが、このままだと、indexページには表示されません。 というのも、カスタム投稿タイプの記事を取得するには、少し書き方が変わります。
ということで、詳しくは、『その3:カスタム投稿タイプ一覧をつくる!』にて
2. functions.phpを使って作成する方法
続いて、functions.phpを使って作成する方法です。
functions.phpにカスタム投稿タイプ「ScrapBook」を追加するために、下記のように記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
<?php // カスタム投稿タイプを作成 add_action( 'init', 'scrapbook_custom_post_type' ); function scrapbook_custom_post_type() { $labels = array( 'name' => _x('スクラップブック', 'post type general name'),//投稿タイプの一般名 'singular_name' => _x('scrapbook', 'post type singular name'), 'add_new' => _x('スクラップブックを追加', 'scrapbook'), 'add_new_item' => __('新しいスクラップブックを追加'), 'edit_item' => __('スクラップブックを編集'), 'new_item' => __('新しいスクラップブック'), 'view_item' => __('スクラップブックを編集'),//記事編集画面の「プレビュー」のテキスト 'search_items' => __('スクラップブックを探す'), 'not_found' => __('スクラップブックはありません'),//投稿がない場合の管理画面のカスタム投稿タイプ一覧に表示されるテキスト 'not_found_in_trash' => __('ゴミ箱にスクラップブックはありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels,//この投稿タイプのラベルの配列 'public' => true,//publicly_queriable, show_ui, show_in_nav_menus, exclude_from_searchのデフォルト値を定義するメタ引数 'publicly_queryable' => true,//フロントエンドで post_type クエリが実行可能かどうか 'show_ui' => true,//この投稿タイプを管理画面で表示するかどうか 'query_var' => true, 'rewrite' => true,//このフォーマットでパーマリンクを作成する 'capability_type' => 'post', 'hierarchical' => false,//この投稿タイプが階層(親の指定が許可されている)かどうか 'menu_position' => 5,//投稿タイプが表示される管理画面のメニューの位置 'has_archive' => true,//アーカイブを作成するかどうか 'supports' => array('title','editor','author','excerpt','comments','thumbnail'),//管理画面に表示する項目 'taxonomies' => array('scrapbook_category','scrapbook_tag') ); register_post_type('scrapbook',$args); // カスタムタクソノミーを作成 //カテゴリータイプ $args = array( 'label' => 'スクラップブックカテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true ); register_taxonomy('scrapbook_category','scrapbook',$args); //タグタイプ $args = array( 'label' => 'スクラップブックタグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false ); register_taxonomy('scrapbook_tag','scrapbook',$args); } add_action('init', 'scrapbook_custom_post_type'); ?> |
カテゴリーやタグを使用したかったので、カスタムタクソノミーを作成しています。
ちなみに、基本的な構文は、
1 2 3 4 5 6 7 8 9 10 11 12 |
add_action( 'init', 'create_post_type' ); function create_post_type() { register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true ) ); } |
以上で、Setting終わりです。簡単ですね。
Settingが終わったら、これを表示させるページづくりをします。
ページづくり
子ブログとして作成せず、デザインの変更等なく今あるテーマを活用するならば、single.phpをまるっとコピーして、single-投稿タイプ名.phpで作成すればOK!。
ですが、このままだと、indexページには表示されません。 というのも、カスタム投稿タイプの記事を取得するには、少し書き方が変わります。
ということで、詳しくは、『その3:カスタム投稿タイプ一覧をつくる!』にて
いや!わたしは、子ブログみたいにしたいの!という方は、次章へお進みください。
パーマリンクについて!は、必読です!!