WordPressでカスタム投稿タイプを作成するためには、register_post_type()
関数を使用します。この関数は新しい投稿タイプを登録し、管理画面やフロントエンドに表示可能にします。以下に、カスタム投稿タイプ「商品登録」を作成する方法を詳しく解説します。
カスタム投稿タイプの作成
- create_posttype():
- カスタム投稿タイプを作成するための自作関数です。関数名は任意ですが、わかりやすい名前をつけることが推奨されます。
- register_post_type():
- WordPressに新しいカスタム投稿タイプを登録するための関数です。第一引数には投稿タイプの識別子を指定します。ここでは
'products'
を使用しています。この識別子は任意の文字列に設定可能です。
- array():
- この中にはカスタム投稿タイプの設定を含めます。
設定項目の詳細
- labels:
- 投稿タイプの名称を設定します。
name
には複数形の名称、singular_name
には単数形の名称を指定します。ここではともに「商品登録」と「商品」が設定されています。 - public:
- この投稿タイプが公開されるかどうかを設定します。
true
にすると、管理画面やフロントエンドの投稿一覧に表示されます。 - has_archive:
true
に設定すると、この投稿タイプのアーカイブページが生成され、日付別などの投稿一覧ページが作成されます。- rewrite:
- URLのリライト設定を行います。
slug
の部分は投稿タイプのURLに使われ、ここでは'products'
が設定されています。 - supports:
- 利用可能な投稿フィールドを設定します。この例では、タイトル(
title
)、本文エディタ(editor
)、サムネイル(thumbnail
)、カスタムフィールド(custom-fields
)が利用可能です。
実装例
以下は、カスタム投稿タイプ「商品登録」を追加するサンプルコードです。
<?php
// カスタム投稿タイプを登録する関数
function create_posttype() {
register_post_type('products',
array(
'labels' => array(
'name' => __('商品登録'),
'singular_name' => __('商品'),
),
'public' => true, // 公開する
'has_archive' => true, // アーカイブを持つ
'rewrite' => array('slug' => 'products'), // パーマリンクの設定
'supports' => array('title', 'editor', 'thumbnail', 'custom-fields'), // サポートする機能
)
);
}
add_action('init', 'create_posttype'); // WordPressの初期化時に関数を実行
?>
まとめ
このように、register_post_type()
を使用してカスタム投稿タイプ「商品登録」を作成することで、WordPressのダッシュボードに新しいコンテンツタイプを追加できます。これにより、特定のコンテンツを効率的に管理できるようになります。
カスタムメタボックスを追加する記事も書いています。
併せてご覧ください。
コメント