カスタム投稿タイプとタクソノミーの作成


トランスクリプト

はじめに

このレッスンでは、カスタム投稿タイプについて学びます。このセッションの終わりまでに、WordPressのカスタム投稿タイプについて説明し、なぜ使用したいのかを理解し、カスタム投稿タイプを作成し、カスタム投稿タイプのコンテンツをウェブサイトに表示する方法を理解できるようになるはずです。では、カスタム投稿タイプとは何でしょうか。WordPressサイトで作成するコンテンツは、ページ、投稿、カテゴリーやタグなどのタクソノミーとしてデータベースに保存されます。さらに、特定のニーズに合わせてカスタム投稿タイプやタクソノミーを作成することもできます。

カスタム投稿タイプ

ウェブサイトでは、コンテンツを効率的に入力して表示するために、何らかのカスタマイズが必要になることがあります。そのため、標準的なページや投稿とは異なる形式のコンテンツを作成する場合、カスタム投稿タイプが役立ちます。たとえば、デザイナーや写真家であれば、作品を表示するためにポートフォリオ投稿タイプを作成したいと思うかもしれません。カスタム投稿タイプを使用しているウェブサイトには、ほかにどのような例があるでしょうか。最も人気のある e コマースプラグインの一つにWooCommerceがあります。WooCommerceに入力され、表示される商品はカスタム投稿タイプとして登録され、商品カテゴリーはカスタムタクソノミーです。カスタム投稿タイプが適しているその他の例としては、本、書評、チームメンバー、ポートフォリオ項目、クラブ、コース、レッスン、レシピなどがあります。可能性は無限です。

では、ウェブサイトにカスタム投稿タイプを設定する最善の方法は何でしょうか。一般的な答えは、自分でコードを書くことです。開発者向けパスには、このテーマに関するカスタム投稿タイプのレッスンがあります。開発者でない場合は、カスタム投稿タイプを設定してくれる利用可能なプラグインを使うこともできます。このレッスンでは、後者に焦点を当てます。ただし続ける前に、開発者ハンドブックでは、カスタム投稿タイプはテーマではなくプラグインに追加することを推奨している点に触れておく価値があります。これにより、テーマを変更してもユーザーのコンテンツを移行可能な状態に保てます。

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

現在、カスタム投稿タイプを生成できる最も人気のあるプラグインは、Custom Post Type UIとAdvanced Custom Fields(ACF)です。その他のオプションは、プラグインディレクトリでカスタム投稿タイプを検索すると見つかる場合があります。このデモでは、Custom Post Type UIプラグインを使用します。まず、CPT UIプラグインをインストールして有効化します。するとダッシュボードに新しいメニュー項目が表示されます。ここでは、左側のメニュー列の下部に表示されています。“Add edit post types”を選択して開始します。

登ることのできる近隣の山々を表示し、高さと登りやすさで分類するハイキングサイトに、カスタム投稿タイプを設定します。まず、スラッグをmountain、単数形のラベルをmountain、複数形のラベルをmountainsとして指定し、カスタム投稿タイプに名前を付けます。すると、新しいカスタム投稿タイプに関連付けられた長いラベル一覧が表示されます。カスタム投稿タイプのスラッグに基づいてラベルを自動入力するリンクが用意されています。このオプションをクリックして時間を節約し、長い一覧をスクロールして、デフォルトのラベルを変更するかどうかを確認します。たとえば、デフォルトの“Menu name”ラベルでは、ラベルの前に“my”という語が追加されます。ここではそれを削除します。

次に、すべてのラベルの下にある設定エリアまでスクロールします。設定では、カスタム投稿タイプを一般公開するか、検索対象にするか、ナビゲーションメニューに表示するか、ダッシュボードのメニュー一覧のどこに表示するか、さらにはメニュー項目の横に表示するアイコンなどを設定します。また、カスタム投稿タイプの編集ページで、アイキャッチ画像、抜粋、作成者など、どのセクションをサポートするかも指定できます。

すべての設定項目にはデフォルト設定があります。“has archive”設定は変更するとよいでしょう。アーカイブページを作成するには、これをtrueに設定します。将来的にカスタム投稿タイプをエクスポートする可能性がある場合は、その項目もtrueに設定できます。一番下には、カスタム投稿タイプに割り当てるタクソノミーが表示されます。表示されている2つは、WordPressのデフォルトのカテゴリーとタグです。ここではカスタムタクソノミーを設定するため、デフォルトのものは選択しません。これらの手順を完了して指定内容を保存すると、投稿や固定ページのメニュー項目とともに、新しいカスタム投稿タイプがWordPressダッシュボードの左側メニューに表示されます。

カスタムタクソノミー

ここで、新しいカスタム投稿タイプの項目をより効率的に分類するのに役立つカスタムタクソノミーを指定できます。この例では、heightとclimb ratingというカスタムタクソノミーを使って山を分類します。高さと登る難易度は、カスタム投稿タイプのカテゴリーとして機能します。山を区分するために、いくつかの高さの範囲を作成します。climb ratingタクソノミーでも同じ手順を使い、登山の労力度のレベルを設定します。開始するには、左下のメニューエリアにある“Add edit taxonomies”を選択します。

次に、カスタム投稿タイプを設定したときと同じ方法でタクソノミーを設定します。最初の例では、タクソノミースラッグをheight、複数形のラベルをheights、単数形のラベルをheightとします。また、ラベルの自動入力を選択します。次に、このタクソノミーを適用する投稿タイプとして、mountainカスタム投稿タイプを選択します。設定セクションでは、デフォルト設定のうち2つを変更するとよいでしょう。1つ目のHierarchicalは、投稿タイプの編集ページにタクソノミーを一覧表示したい場合、trueに設定します。もう1つは“Show in quick or bulk edit panel”です。これをtrueに設定すると、クイック編集メニューを使って特定の山のタクソノミー設定を変更できるようになります。次に、climb ratingタクソノミーについても同じ手順を行います。

この例ではheightとclimb ratingのタクソノミーを設定した後、mountainカスタム投稿タイプを編集する必要があります。そこで“Add edit post type”に戻り、mountainカスタム投稿タイプを選択して、設定セクションの一番下までスクロールします。すると、heightとclimbing ratingのタクソノミーが一覧表示されます。両方のチェックボックスをオンにして、カスタム投稿タイプをもう一度保存し、タクソノミーをその特定のカスタム投稿タイプに関連付けます。カスタム投稿タイプとそのタクソノミーを設定したら、内容を追加できます。ダッシュボードでカスタム投稿タイプを選択すると、タクソノミーの1つを開けます。この場合はheightを開き、最初の分類として「海抜3000フィート未満の山々」を追加します。その後、このタクソノミーにほかの分類を追加します。「海抜3000フィート未満の山々」から「海抜12000フィートを超える山々」までです。もう1つのclimb ratingタクソノミーについても同じことを行います。この例では、初級者、中級者、上級者の分類を追加しました。

カスタム投稿タイプの項目

タクソノミーを設定できたので、カスタム投稿タイプの項目をいくつか作成します。この場合、具体的な山を入力し、それぞれに適合するタクソノミーを選択します。それでは、最初のカスタム投稿タイプの項目を作成しましょう。名前をfirst mountainとし、ダミーコンテンツを追加します。サイドバーの設定では、関連するタクソノミーを適用できます。この場合、その山は3000フィート未満で、初心者に適しています。さらに抜粋と投稿のアイキャッチ画像も追加し、公開をクリックします。続けて、mountainsカスタム投稿タイプ用に、second mountainとthird mountainという2つの項目を作成します。山の投稿タイプを入力し、高さと登りやすさで分類できたので、ウェブサイト訪問者に山の一覧をすべて表示したり、タクソノミー別に表示したりする方法を提供できます。

カスタム投稿タイプの表示

まず、mountainカスタム投稿タイプのアーカイブを表示するための新しいページを生成します。ページ名は自由に付けてください。この例ではmountainsとし、保存します。固定ページ一覧にアクセスし、クイック編集を選択してページタイトルとスラッグを表示します。スラッグをカスタム投稿タイプのスラッグと一致するように変更します。この例ではmountainです。変更を保存します。このページを表示するには、サイトのヘッダーテンプレートパーツにあるメニューに追加する必要があります。サイトエディターにアクセスしてNavigationを選択し、Editをクリックします。リスト表示を開き、Navigationブロックを選択して新しいメニュー項目を追加し、Mountainsというページを選択します。次に、右サイドバーでMountainsを選択し、縦に並んだ3つの点をクリックしてサブメニューリンクを追加し、heightと入力します。ご覧のように、heightというページはありません。ここでは分類を表示するためのプレースホルダーとしてheightだけを使います。同様に、climbing ratingもプレースホルダーとして追加します。確実にプレースホルダーのみにするには、この場合はheightのメニュー項目を選択し、サイドバーの設定を開いて、URLの下に2つのハッシュ記号を追加します。これによりクリックできず、単なるプレースホルダーになります。climb ratingについても同じ操作を行います。サブメニューリンクをプレースホルダーとして追加し、URLの下に2つのハッシュ記号を追加します。

次に、これらのプレースホルダーのサブページとして分類を追加します。Heightを選択し、縦に並んだ3つの点をクリックして、Add a submenu linkをクリックします。最初の分類である3000フィート未満を検索し、タクソノミーを選択します。その後、heightとclimbing ratingの両方について分類を追加します。フロントエンドから確認してみましょう。Mountainsをクリックすると、カスタム投稿タイプの項目であるMountain one、two、threeがすべて表示されます。次に分類の1つ、この場合は3000フィート未満の山々を選択できます。climbing ratingでは、中級者向けの山々を表示できます。

テンプレート

最後に、テンプレートについて説明します。これまで見てきたページはすべて、All Archivesテンプレートを使って表示されています。しかし、ページの1つに異なる外観やレイアウトを設定したい場合はどうでしょうか。サイトエディターに移動してManage all templatesをクリックし、右上のAdd new templateをクリックします。すると、いくつかの選択肢が表示されます。archive mountainテンプレートを追加すると、すべての山の項目が表示されます。また、single item mountainテンプレートを選択して、個別の項目の表示方法を変更することもできます。最後に、すべてのタクソノミー、またはこの例では個別のタクソノミーや分類について、表示方法を変更することもできます。

まとめ

WordPressのテンプレート、その使用方法や変更方法については、learn.wordpress.orgの他のセッションで詳しく学べます。サイトでカスタム投稿タイプを作成・設定する作業を楽しんでください。

実践

WordPress Playgroundを使って動画の例を再現するか、独自のカスタム投稿タイプを作成して知識を試してみましょう。