カスタム投稿タイプの表示側、管理画面側のいろいろをカスタマイズする

php WordPressのカスタマイズ

wpphp_post_type_custom

前回前々回とカスタム投稿タイプの追加の仕方、テンプレートの作成方法を紹介しましたが
今回はカスタム投稿タイプのカスタマイズについて紹介します。

>> 「カスタム投稿タイプ」で自分だけのオリジナル投稿機能を作ってみる
>> カスタム投稿タイプ用の記事、アーカイブテンプレートを作成する
>> カスタム投稿タイプの記事、アーカイブが404エラーで表示されない!
>> カスタム投稿タイプの新着記事を表示する
>> カスタム投稿タイプをプラグインで簡単に追加する

カスタム投稿タイプのオプション一覧

まずはオプション一覧。

register_post_type('news', // *1 カスタム投稿タイプ名
	array(
		// *2 ラベル
		'labels' => array( 
			'name' => __('お知らせ'), 
			'singular_name' => __('お知らせ'),
			'add_new' => _x('新規お知らせ記事', 'book'),
			'add_new_item' => __('お知らせ記事を書く'),
			'edit_item' => __('お知らせ記事を編集する'),
			'new_item' => __('新しいお知らせ記事'),
			'view_item' => __('お知らせ記事を表示する'),
			'search_items' => __('お知らせ記事を検索'),
			'not_found' =>  __('お知らせ記事はありません'),
			'not_found_in_trash' => __('ゴミ箱にお知らせ記事はありません'), 
			'parent_item_colon' => ''
		),
		// *3 投稿ページで使用する項目
		'supports' => array(
			'title',
			'editor',
			'thumbnail',
			'custom-fields',
			'excerpt',
			'author',
			'trackbacks',
			'comments',
			'revisions',
			'page-attributes'
		),
		// *4 その他の設定
		'public' => true,
		'publicly_queryable' => true,
		'show_ui' => true, 
		'menu_position' => 3,
		'query_var' => true,
		'rewrite' => array('slug' => 'news', 'with_front' => false),
		'capability_type' => 'post',
		'hierarchical' => false,
		'has_archive' => true,
	)
);

いっぱいあります。
コメントにて*1〜4までなんとなく分けたので、一つ一つ紹介していきます。

カスタム投稿タイプ名

register_post_type('news', $args);

必須項目。半角英字で指定します。
カスタム投稿タイプを判別する為の項目なので、重複しないような名称にします。
この値はURL内でも使われます。

ラベル

管理画面での文言中心です。

'labels' => array(
	'name' => __('お知らせ'),
	'singular_name' => __('お知らせ'),
	'add_new' => _x('新規お知らせ記事', 'book'),
	'add_new_item' => __('お知らせ記事を書く'), 
	'edit_item' => __('お知らせ記事を編集する'),
	'new_item' => __('新しいお知らせ記事'),
	'view_item' => __('お知らせ記事を表示する'),
	'search_items' => __('お知らせ記事を検索'),
	'not_found' =>  __('お知らせ記事はありません'),
	'not_found_in_trash' => __('ゴミ箱にお知らせ記事はありません'), 
	'parent_item_colon' => ''
)
要素名 説明
name カスタム投稿タイプの表示名(英語圏では複数形)
singular_name 日本語では name と一緒にします。(英語圏では単数系)
add_new サイドバーや記事一覧ページにある新規ページへのリンク文字。
add_new_item 新規投稿ページの見出し
edit_item 記事編集ページの見出し
new_item
view_item 記事編集ページ上部の記事を表示するリンク文字
search_items 記事一覧ページの検索フォームボタン
not_found 記事一覧ページで記事がまだないときの表示文字
not_found_in_trash 記事一覧(ゴミ箱)ページで記事がまだないときの表示文字

投稿ページで使用する項目

カスタム投稿タイプの投稿ページで使う項目を指定できます。

'supports' => array(
	'title',
	'editor',
	'thumbnail',
	'custom-fields',
	'excerpt',
	'author',
	'trackbacks',
	'comments',
	'revisions',
	'page-attributes'
)
キー 内容
title タイトル
editor 記事本文
thumbnail アイキャッチ画像
custom-fields カスタムフィールド
excerpt 抜粋文
author 作成者
trackbacks トラックバック
comments コメント
revisions リビジョン
page-attributes ページ属性 ※ 指定するには hierarchical をtrueにします。

その他の設定

主に機能面の設定が多めです。

'public' => true,
'publicly_queryable' => true,
'show_ui' => true, 
'menu_position' => 3,
'query_var' => true,
'rewrite' => array('slug' => 'news', 'with_front' => false),
'capability_type' => 'post',
'hierarchical' => false,
'has_archive' => true,
キー 内容
public true:公開
false:非公開
publicly_queryable true:http://WordPressベースURL/?post_type=(カスタム投稿タイプ名) で、その投稿タイプの記事一覧を表示
false:トップページを表示
show_ui true:管理画面にカスタム投稿タイプを表示する
false:非表示
デフォルトでは public と同じ値が入ります。
menu_position 管理画面サイドバー上の位置を半角数字で指定。5ごとに移動されます
query_var true:http://WordPressベースURL/?post_type=(カスタム投稿タイプ名) で、その投稿タイプの記事一覧を表示させます。
false:http://WordPressベースURL/?post_type=(カスタム投稿タイプ名)&name=(投稿のスラッグ)で、その投稿タイプの記事が表示できます。
rewrite カスタム投稿タイプの記事URLを変更します。

true:パーマリンク設定がデフォルト以外なら
http://WordPressベースURL/カスタム投稿タイプ名/記事のスラッグ
slug:例のように配列でslugを指定すると
http://WordPressベースURL/指定したスラッグ/記事のスラッグ
with_front:例のように配列で指定します。
WordPressの管理画面で設定したパーマリンク設定を利用するならtrue、利用しないならfalse。パーマリンク設定が数字ベースで、slugを指定、with_frontをtrueにした場合
http://WordPressベースURL/archives/指定したスラッグ/記事のスラッグ

capability_type 権限のタイプ。'post'なら、「投稿」を投稿・編集できるユーザーならカスタム投稿タイプを投稿・編集できます。
hierarchical true:固定ページのように、カスタム投稿タイプ同士に親子関係を持たせることを許可する
has_archive true:アーカイブページの表示を許可する

ここで紹介していないものもありますが、かなり充実したオプションです。
是非是非カスタマイズして自分だけの投稿機能を作ってみてください。

>> 「カスタム投稿タイプ」で自分だけのオリジナル投稿機能を作ってみる
>> カスタム投稿タイプ用の記事、アーカイブテンプレートを作成する
>> カスタム投稿タイプの記事、アーカイブが404エラーで表示されない!
>> カスタム投稿タイプの新着記事を表示する
>> カスタム投稿タイプをプラグインで簡単に追加する

php WordPressのカスタマイズ

関連記事