制作実績という個別投稿タイプを作り、フォーマット化して投稿していきたいと思ったので作りました。
目次(クリックでジャンプ)
【WordPress】functions.phpでカスタム投稿タイプを追加する
functions.phpに以下のコードを追記
まずは、使用しているテーマのfunctions.phpに以下のコードを追記してください。
以下のコードは制作実績の投稿タイプを想定したものですが、適宜「works」「制作実績」となっている部分を変更してください。
###################################################
# 投稿タイプの追加
###################################################
function create_post_type(){
register_post_type('works', [
'labels' => [
'name' => '制作実績',
'singular_name' => 'works',
],
'public' => true,
'has_archive' => true,
'menu_position' => 5,
"show_in_rest" => true,
'supports' => array('title', 'editor', 'thumbnail'),
]);
//制作実績カテゴリ
register_taxonomy(
'works-cat',
'works',
array(
'label' => 'カテゴリ',
'singular_label' => '制作実績カテゴリ',
'labels' => array(
'all_items' => 'カテゴリ一覧',
'add_new_item' => 'カテゴリを追加'
),
'public' => true,
'show_ui' => true,
'show_in_rest' => true,
'show_in_nav_menus' => true,
'hierarchical' => true
)
);
//制作実績タグ
register_taxonomy(
'works-tag',
'works',
array(
'label' => 'タグ',
'singular_label' => '制作実績タグ',
'labels' => array(
'add_new_item' => 'タグを追加'
),
'public' => true,
'show_ui' => true,
'show_in_rest' => true,
'show_in_nav_menus' => true,
'hierarchical' => false
)
);
}
add_action('init', 'create_post_type');
register_post_type各プロパティの詳細
- ‘name’ => ‘制作実績’: カスタム投稿タイプの一般的な名前。これは管理画面で表示されるカスタム投稿タイプの名前です。例えば、投稿タイプが「制作実績」である場合、管理画面のメニューで「制作実績」が表示されます。
- ‘singular_name’ => ‘works’: カスタム投稿タイプの単数形の名前。これは管理画面で表示されるカスタム投稿タイプの単数形の名前です。例えば、投稿タイプが「制作実績」である場合、「制作実績」の1つの投稿は「works」と表示されます。
- ‘public’ => true: この設定は、カスタム投稿タイプを一般公開するかどうかを制御します。設定がtrueの場合、カスタム投稿タイプは一般公開され、投稿一覧や単一の投稿ページが表示されます。デフォルト値はtrueです。
- ‘has_archive’ => true: この設定は、カスタム投稿タイプにアーカイブページを持たせるかどうかを制御します。設定がtrueの場合、カスタム投稿タイプのアーカイブが表示されます。デフォルト値はfalseです。
- ‘menu_position’ => 5: この設定は、管理画面のメニューでカスタム投稿タイプが表示される位置を指定します。数字が小さいほど上位に表示されます。デフォルト値は25です。
- “show_in_rest” => true: この設定は、REST API経由でカスタム投稿タイプを取得および操作することを許可するかどうかを制御します。設定がtrueの場合、REST API経由でカスタム投稿タイプにアクセスできます。デフォルト値はfalseです。
- ‘supports’ => array(‘title’, ‘editor’, ‘thumbnail’): この設定は、カスタム投稿タイプがサポートする投稿タイプのフィールドを指定します。例えば、’title’はタイトルフィールド、’editor’はビジュアルエディター、’thumbnail’はアイキャッチ画像を意味します。デフォルト値は、’title’と’editor’が指定されています。
register_taxonomy各プロパティの説明
- ‘works-cat’: タクソノミーのスラッグ(Slug)。このスラッグは、WordPress内で識別されるタクソノミーの一意の識別子です。
- ‘works’: タクソノミーが適用される投稿タイプまたはカスタム投稿タイプのスラッグ。この場合、’works-cat’タクソノミーが’works’というカスタム投稿タイプに適用されます。
- ‘label’ => ‘カテゴリ’: タクソノミーの名前。管理画面で表示されるタクソノミーの名前です。
- ‘singular_label’ => ‘制作実績カテゴリ’: タクソノミーの単数形の名前。管理画面で表示されるタクソノミーの単数形の名前です。
- ‘labels’ => array(): タクソノミーのラベル設定。ここでは、’all_items’(すべてのアイテムの表示名)と’add_new_item’(新しいアイテムの追加名)が設定されています。
- ‘public’ => true: タクソノミーが一般公開されるかどうかを制御します。
- ‘show_ui’ => true: タクソノミーの管理画面UIを表示するかどうかを制御します。
- ‘show_in_rest’ => true: REST API経由でタクソノミーにアクセスできるようにするかどうかを制御します。
- ‘show_in_nav_menus’ => true: ナビゲーションメニューでタクソノミーを表示するかどうかを制御します。
- ‘hierarchical’ => true: タクソノミーが階層構造を持つかどうかを制御します。階層構造を持つ場合はtrueに設定します。
カスタム投稿タイプにカスタムフィールドを追加する
カスタム投稿タイプにカスタムフィールドを追加したい場合は以下の記事を参考にしてください。
【WordPress】functions.phpでカスタム投稿タイプにカスタムフィールドを追加
テキストエリア、ラジオボタン、画像、チェックボックス等あらゆる入力タイプの実装テンプレあります。コピペで簡単実装可能です。 【functions.phpでカスタム投稿タイ…
カスタム投稿タイプに管理画面でアイキャッチ画像を表示させる
【WordPress】管理画面でカスタム投稿タイプの一覧にアイキャッチ画像を表示させる
【管理画面でカスタム投稿の一覧にアイキャッチ表示】 functions.phpにコードを追加 下記のコードを追加するだけで反映できると思います。 function manage_posts_colum…