MENU

register_post_type()

register_post_type() は、カスタム投稿タイプを登録するためのWordPressのテンプレートタグです。投稿タイプを使うことで、ブログ記事以外のデータ(例:ポートフォリオ、製品情報など)を管理できるようになります。

目次

機能の説明

register_post_type() を使うと、WordPressの管理画面に新しいカスタム投稿タイプを追加できます。これにより、ページや投稿とは異なるデータ構造を管理できます。

シンプルなコード例

function register_custom_post_type() {
    register_post_type('product', array(
        'label' => '製品',
        'public' => true,
        'has_archive' => true,
    ));
}
add_action('init', 'register_custom_post_type');

使い方の解説

register_post_type() は通常、init アクションにフックして使用します。これにより、WordPressが初期化される際に投稿タイプが正しく登録されます。

引数

$post_type

登録するカスタム投稿タイプの名前。英小文字とアンダースコアのみ使用可能です。

$args

投稿タイプの設定を格納する連想配列。表示設定やサポート機能などを含みます。

戻り値

WP_Error | null

成功時は null、エラーが発生した場合は WP_Error オブジェクトを返します。

オプション

label

投稿タイプの名前を指定します。

public

投稿タイプが公開されるかどうか(true または false)。

has_archive

アーカイブページを有効にするかどうか。

supports

タイトル、エディタ、サムネイルなどのサポート機能を指定します。

使用例

function register_event_post_type() {
    register_post_type('event', array(
        'labels' => array(
            'name' => 'イベント',
            'singular_name' => 'イベント',
        ),
        'public' => true,
        'has_archive' => true,
        'rewrite' => array('slug' => 'events'),
        'supports' => array('title', 'editor', 'thumbnail'),
    ));
}
add_action('init', 'register_event_post_type');
  1. register_post_type(): event というカスタム投稿タイプを登録します。
  2. labels 配列: 投稿タイプの名前を指定しています。
  3. public: 管理画面とフロントエンドに表示されるように設定。
  4. rewrite: URLスラッグをeventsに変更。
  5. supports: タイトル、エディタ、サムネイルのサポートを有効化。

一緒に使うことが多い関連タグ

add_action()

register_post_type()init アクションにフックする際に使用します。

add_action('init', 'register_custom_post_type');

追加情報を取得したい場合

get_post_type() で現在の投稿タイプを取得

$post_type = get_post_type();
echo '現在の投稿タイプ: ' . $post_type;

出力できる情報

  • name: 投稿タイプの名前
  • slug: URL用のスラッグ
  • public: 公開設定の有無

想定されるトラブル

投稿タイプが表示されない

publictrue に設定していることを確認してください。

パーマリンクが機能しない

パーマリンク設定を保存して、URLを再生成してください。

Q&A

カスタム投稿タイプを登録する際に注意すべき点は何ですか?

投稿タイプ名は20文字以内にし、小文字とアンダースコアのみ使用してください。

register_post_type() のエラーを確認する方法は?

戻り値を WP_Error オブジェクトとして取得し、is_wp_error() 関数で確認できます。

カスタム投稿タイプのアーカイブページを表示するには?

has_archivetrue に設定し、rewrite でURLスラッグを指定してください。

まとめ

register_post_type() は、WordPressでカスタム投稿タイプを登録するための強力な関数です。

これにより、ブログ記事以外のコンテンツを柔軟に管理できます。正しい使い方を理解することで、テーマやプラグインの開発がより豊かなものになります。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次