カスタム投稿タイプの設定方法(functions.php)
更新日:2025/03/06

WordPress で独自のコンテンツタイプを作成するカスタム投稿タイプの設定は、一般的に functions.php
ファイルで行います。以下にその基本的な方法と詳細なオプションを説明します。
function create_custom_post_type() {
register_post_type('product',
array(
'labels' => array(
'name' => '商品',
'singular_name' => '商品'
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'thumbnail'),
'menu_icon' => 'dashicons-cart'
)
);
}
add_action('init', 'create_custom_post_type');
この例では、「商品」というカスタム投稿タイプを作成しています。
主要なパラメータの詳細説明
1. register_post_type
の第一引数
カスタム投稿タイプの識別子(スラッグ)です。英数字の小文字とアンダースコアのみを使用します。例: 'product'
, 'team_member'
, 'portfolio'
2. labels
配列
管理画面での表示名を設定します。主な項目は:
'labels' => array(
'name' => '商品', // 複数形の名前
'singular_name' => '商品', // 単数形の名前
'add_new' => '新規追加',
'add_new_item' => '新しい商品を追加',
'edit_item' => '商品を編集',
'new_item' => '新しい商品',
'view_item' => '商品を表示',
'search_items' => '商品を検索',
'not_found' => '商品が見つかりませんでした',
'not_found_in_trash' => 'ゴミ箱に商品はありません'
)
2. 基本的な表示設定
'public' => true, // 一般公開するか
'publicly_queryable' => true, // 一般クエリで取得可能か
'show_ui' => true, // 管理UIに表示するか
'show_in_menu' => true, // 管理メニューに表示するか
'menu_position' => 5, // メニューの位置(5=投稿の下)
'menu_icon' => 'dashicons-cart', // アイコン(Dashiconsから選択)
'show_in_admin_bar' => true, // 管理バーに表示するか
'show_in_nav_menus' => true, // ナビゲーションメニューに表示するか
'can_export' => true, // エクスポート機能を有効にするか
'has_archive' => true, // アーカイブページを持つか
'exclude_from_search' => false, // 検索から除外するか
'show_in_rest' => true, // REST API(Gutenbergエディタ)で使用可能にするか
4. 投稿タイプの機能設定
'supports' => array(
'title', // タイトル
'editor', // 本文エディタ
'author', // 投稿者
'thumbnail', // アイキャッチ画像
'excerpt', // 抜粋
'comments', // コメント
'revisions', // リビジョン
'custom-fields', // カスタムフィールド
'page-attributes', // 属性(親・テンプレート・順序)
'post-formats' // 投稿フォーマット
)
5. パーマリンク設定
'rewrite' => array(
'slug' => 'products', // URLのスラッグ
'with_front' => true, // パーマリンク構造の先頭部分を含めるか
'pages' => true, // ページ分割を有効にするか
'feeds' => true, // フィードを有効にするか
)
6. その他設定
'hierarchical' => false, // 階層構造を持つか(true=固定ページ型、false=投稿型)
'capability_type' => 'post', // 権限タイプ('post'または'page')
'taxonomies' => array('category', 'post_tag'), // 既存タクソノミーを有効にする
ベストプラクティス
- テーマの
functions.php
への直接実装ではなく、プラグインとして実装するか、Custom Post Type UI
などのプラグインを使用することをお勧めします(テーマ変更時にも設定が保持されます)。 - カスタム投稿タイプ名は、既存のものと衝突しないよう、ユニークな名前にします。
init
フックを使用して登録するのが標準的です。- アーカイブテンプレート(
archive-{post_type}.php
)や単一投稿テンプレート(single-{post_type}.php
)をテーマに追加することで、表示をカスタマイズできます。
以上が、functions.php
でのカスタム投稿タイプ設定の基本的な方法です。用途に合わせて必要なオプションを選択して実装してください。

-
検索
(例) debug search etc.. -
カテゴリー
-
【WordPress】カスタムフィールド作成の仕方「ACF」Advanced Custom Fieldsの使用法
更新日:2024/06/10
299 view
-
mixhostでのWordPress利用について
更新日:2024/04/02
296 view
-
scrollHint
更新日:2024/03/13
249 view
-
LOLIPOPでWordPressインストール(サブディレクトリにインストールしたWordPressをドメイン直下で表示)
更新日:2024/06/13
237 view
-
XML Sitemap Generator for Google不具合のダウングレード対応、代替プラグイン
更新日:2024/06/13
235 view
-
Sass導入方法
更新日:2024/03/13
207 view
-
【SnowMonkey】納品までのフローまとめ
更新日:2025/02/15
163 view
-
【Snow Monkey】Googleサーチコンソール登録
更新日:2024/05/28
157 view
-
ワードプレスでフォントを変えたいとき、プラグインを使えば初心者でも簡単
更新日:2025/02/16
144 view
-
【Googleサーチコンソール】検索画面で表示させたくない「Googleのインデックス削除」
更新日:2024/06/07
129 view
-
【ショートコード】編集画面で任意の場所にHTMLファイルを挿入
更新日:2024/01/26
122 view
-
キーワード検索で上位表示させる方法【SEO】
更新日:2023/10/28
120 view
-
tailwindcss使い方
更新日:2024/03/13
120 view
-
Recline: GitHub Copilotで動作するClaude 3.5 Sonnet搭載の開発支援ツール
更新日:2025/01/20
110 view
-
WordPressプラグイン「All-in-One WP Migration」のトラブル
更新日:2022/03/31
84 view
-
ワードプレスセキュリティー対策まとめ【2025年】「site guard wordpress」「BackWPup バージョン5でUI変更!?」
更新日:2025/02/25
76 view
-
SSHを使用してGitHubのリポジトリをクローン、複数の接続元で公開鍵をディレクトリで区別する方法
更新日:2025/01/13
47 view
-
VSCodeで開発効率を劇的に向上させる!Roo-Clineプラグイン完全ガイド【Gemini API】
更新日:2025/02/08
41 view
-
「JSONスキーマ」と「Few-shot Learning」で実現する次世代生成AIソフトウェア開発の可能性
更新日:2025/02/12
40 view
-
WordPressの無料画像素材のおすすめダウンロードサイト!
更新日:2022/02/22
35 view
-
リファクタリング【VSCode Javasctipt Python】
更新日:2025/02/06
34 view
-
形態素解析とは?初心者でもわかるツールの使い方と実践例
更新日:2025/02/08
33 view
-
【Next.js AWS】音声文字起こし&要約、分析アプリケーション(S3)(Transcribe)(Amazon Bedrock)
更新日:2025/02/13
30 view
-
VSCodeプラグイン「 Pretter – Code formatter」「PHP Intelephense 」
更新日:2025/01/06
26 view
-
WordPressでカスタムフィールドを使った記事のスコアリング 一定割合ランダム表示でε-greedy方策
更新日:2025/02/24
24 view
-
【CSS JavaScript サンプルコード】アコーディオン 続きを読む(Read more)Toggle 折りたたみコンテンツ
更新日:2025/02/05
24 view
-
【WordPress】SVGを投稿記事のサムネイルに!自作プラグイン(未実装🤷♂️)「nonce(ナンス)トークン」wp_postmetaテーブルを利用
更新日:2025/02/16
23 view
-
Googleアドセンスとは?〜前編〜
更新日:2025/02/16
22 view
-
【WordPressプラグイン】人気記事 管理 WordPress Popular Posts 実践的なカスタマイズ
更新日:2025/02/15
22 view
-
AWSのOCRサービス完全ガイド:Textract、Rekognition、Comprehendの使い分け
更新日:2025/02/09
19 view
-
スマートフォンファーストのWeb開発実践ガイド
更新日:2025/01/23
18 view
-
【WordPress】プラグイン不使用でカスタムタクソノミーを設定、絞り込み検索について
更新日:2025/01/26
18 view
-
サブディレクトリでインストールしたWordPressをルートディレクトリで表示させる方法(Xserver編)
更新日:2025/01/19
17 view
-
「Amazon Bedrock+ Amazon Kendra」で作る社内検索
更新日:2025/01/22
15 view
-
クッキーとセッションの違い
更新日:2025/03/09
14 view