Loading...

WordPressで投稿メニューを増やす(2)

2014.06.30

なかのひとです。
洗濯物が雨にやられたら、わざわざ洗剤で洗いなおしはせずに
水のみのすすぎで雨の汚れは落とせるそうです。
つい先日の晴れ間に浮かれて、大量に洗濯物を干したら全部やられた際に学びました。
天気予報はなんて尊いんでしょう。

さて、引き続きカスタム投稿タイプの話題です。
早速実装する方法に入って行きましょう。

カスタム投稿タイプを実装するには、function.phpに
以下の様な記述を加える必要があります。


add_action( 'init', 'register_my_cpt' );

function register_my_cpt() {

    $labels = array( 
        'name' => _x( 'お知らせ', 'news' ), //カスタム投稿タイプ名
        'singular_name' => _x( 'お知らせ', 'news' ), //カスタム投稿タイプ名
    );

    $args = array( 
        'labels' => $labels,
        'hierarchical' => false, //'true'でページタイプ、'false'で投稿タイプ
        
        'supports' => array( 'title', 'editor' ), //投稿画面で表示する項目(サンプルではタイトル・本文エディタ)
        'taxonomies' => array( 'category' ), //カスタム分類(カテゴリー、タグなど)
        'public' => true,
        'show_ui' => true,
        'show_in_menu' => true,
	'menu_position' =>5, 
        
        'show_in_nav_menus' => true,
        'publicly_queryable' => true,
        'exclude_from_search' => false,
        'has_archive' => true,
        'query_var' => true,
        'can_export' => true,
        'rewrite' => true,
        'capability_type' => 'post'
    );

    register_post_type( 'news', $args ); //カスタム投稿タイプとその動作を定義
}

今回は『お知らせ』というカスタム投稿タイプを作成することにしました。
初心者の方はコメントアウトで説明が記載されている部分に気をつければ大丈夫だと思います。

 'supports' => array( 'title', 'editor' ), //投稿画面で表示する項目(サンプルではタイトル・本文エディタ)

この部分で投稿画面で表示する入力フィールドを設定できます。

入力フィールド説明
title タイトル
editor 本文
author 作成者
thumbnail アイキャッチ画像(対応テーマのみ)
excerpt 抜粋
comments コメント一覧
trackbacks トラックバック送信
custom-fields カスタムフィールド
revisions リビジョン
page-attributes 属性(hierarchicalがtrueの時のみ)

プログラミングが苦手な方は、プラグインで「Custom Post Type UI」などを使うのもいいかもしれませんね。

COLUMNコラム