WordPress、function、カスタム投稿とカスタムタクソノミーを作成する

CMS
この記事は約6分で読めます。

WordPressを使ったサイト運営で、カスタム投稿タイプやカスタムタクソノミーを活用すると、より柔軟で管理しやすいコンテンツ構造を構築できます。この記事では、カスタム投稿タイプとカスタムタクソノミーを作成するための具体的なコード例と解説を紹介します。

カスタム投稿タイプの作成

カスタム投稿タイプは、投稿(Post)や固定ページ(Page)とは別に、新しい投稿タイプを追加する機能です。以下のサンプルコードは「お知らせ」というカスタム投稿を作成する例です。

サンプルコード:カスタム投稿タイプ「お知らせ」の作成

function register_post_news_init() {
    $args = array(
        'public' => true, // 管理画面上に表示するか
        'label'  => 'お知らせ', // カスタム投稿名
        'menu_position' => 5, // 5は「投稿」の下に表示
        'menu_icon' => 'dashicons-info-outline', // アイコンフォント
        'has_archive' => true, // アーカイブページの作成
        'show_in_rest' => true, // ブロックエディタ対応
        'supports' => [ // 投稿画面に表示する項目
            'title', // タイトル
            'editor', // 編集エリア
            'thumbnail', // サムネイル画像
            'excerpt', // 抜粋
        ]
    );
    register_post_type('news', $args);
}

add_action('init', 'register_post_news_init');
PHP

コードの解説

  1. public
    • 投稿タイプを管理画面上に表示するかを設定します。trueにすると表示されます。
  2. label
    • 投稿タイプの名前を設定します。管理画面で「お知らせ」と表示されます。
  3. menu_position
    • メニューの表示位置を設定します。数字が小さいほど上に配置されます。
  4. menu_icon
    • 管理画面で使用するアイコンを指定します。dashicons-info-outlineは情報アイコンです。
  5. has_archive
    • アーカイブページの作成有無を指定します。trueにするとカスタム投稿用のアーカイブページが有効になります。
  6. supports
    • 投稿タイプに含める要素を指定します。例えば、タイトル、エディタ、サムネイル、抜粋を有効にしています。

作成後の確認

コードを保存した後、WordPress管理画面の左メニューに「お知らせ」が追加されているのを確認してください。「お知らせ」に新しい投稿を作成すると、自動的にカスタム投稿タイプとして管理されます。

カスタムタクソノミーの作成

カスタムタクソノミーは、カスタム投稿タイプや標準投稿に対してカテゴリやタグのような分類を追加する機能です。以下は、「ジャンル」というタクソノミーを作成する例です。

サンプルコード:カスタムタクソノミー「ジャンル」の作成

function create_my_taxonomies() {
    $args = array(
        'hierarchical' => true, // 階層型(カテゴリ形式)
        'label' => 'ジャンル', // 管理画面で表示する名前
        'show_in_rest' => true, // ブロックエディタ対応
    );
    register_taxonomy('genre', 'news', $args); // 'genre' はスラッグ、'news' は対象投稿タイプ
}
add_action('init', 'create_my_taxonomies');
PHP

コードの解説

  1. hierarchical
    • true:カテゴリのように親子関係を持たせる。
    • false:タグのようにフラットな構造。
  2. label
    • タクソノミーの名前を指定します。「ジャンル」として管理画面に表示されます。
  3. show_in_rest
    • ブロックエディタでタクソノミーを使用可能にします。
  4. register_taxonomy
    • 第一引数:タクソノミーのスラッグ(識別子)。
    • 第二引数:適用する投稿タイプ(この場合はnews)。

複数のタクソノミーを作成する場合

以下のコードを追加すると、複数のタクソノミーを作成できます。

function create_multiple_taxonomies() {
    $args1 = array(
        'hierarchical' => true,
        'label' => 'ジャンル',
        'show_in_rest' => true,
    );
    $args2 = array(
        'hierarchical' => true,
        'label' => '一覧',
        'show_in_rest' => true,
    );
    register_taxonomy('genre', 'news', $args1);
    register_taxonomy('list', 'news', $args2);
}
add_action('init', 'create_multiple_taxonomies');
PHP

これにより、「ジャンル」と「一覧」の2つの分類を「お知らせ」投稿タイプに追加できます。

カスタム投稿とタクソノミーを組み合わせるメリット

カスタム投稿タイプとタクソノミーを活用すると、以下のようなメリットがあります。

  1. コンテンツ管理が簡単になる
    • 通常の投稿とは別に、特定の種類のコンテンツ(例:ニュースや製品情報)を管理できます。
  2. ユーザー体験の向上
    • カテゴリやタグのようにタクソノミーを使うことで、訪問者が簡単に目的の情報を見つけられます。
  3. テーマカスタマイズが容易
    • アーカイブテンプレートやタクソノミーテンプレートを活用することで、独自のデザインや表示形式を実現できます。

まとめ

カスタム投稿タイプとカスタムタクソノミーは、WordPressの機能を強化し、サイトの構造を柔軟にカスタマイズできる強力なツールです。本記事で紹介したコードを参考に、目的に合わせたカスタマイズを行ってみてください。これにより、サイト管理が効率化し、訪問者にとって使いやすいサイトを構築できます。

ぜひ、この記事を参考にして、あなたのWordPressサイトをよりパワフルなものに進化させてください!

コメント