WordPress

1つのWordPressで複数のブログを運用「カスタム投稿タイプ」

WordPressには「固定ページ」と「投稿」という2種類のページ作成方法がありますが、サイトによってはこれら以外にも投稿できる何かがほしい場合があります。

例えば、会社のホームページでスタッフのブログを運用していたとします。でも、同じホームページ上でブログとは違う形で「お知らせ」をアップしたい、「お客さまの声」も集めて更新したい、商品情報もアップしたい、ポートフォリオもアップしたいなどなど。ブログのカテゴリ分けでは対応できない投稿や、ブログや固定ページとは形式の異なるページ形式で投稿したい場合があると思います。

そういうときに使いたいのが「カスタム投稿タイプ」という機能です。この機能を活用すると、1つのWordPressで複数の「投稿」を運用することができるようになります。

カスタム投稿タイプの設定の仕方は2種類あります。1つはプラグインを使う方法、もうひとつは「テーマのための関数(functions.php)」にコードを書き込む方法です。ここでは、初心者の方向けにプラグインを使ったカスタム投稿タイプの設定についてお話させていただきます。

コンテンツ

プラグイン「Custom Post Type UI」

カスタム投稿タイプの設定するためには「Custom Post Type UI」というプラグインを使います。

プラグインを有効化すると左のメニューのところに「CPT UI」というメニューが出てきます。

投稿タイプの追加

はじめに新しい投稿タイプを新規で作成していきます。


「CPT UI」>「投稿タイプの追加と編集」へ進んでください。「投稿タイプの追加と編集」ページではいろんな項目がありますので、一般的に使用する部分だけを抜粋してお話していきます。

基本設定
投稿タイプスラッグ
これから作成する投稿タイプの記事を表示させたときにURLに表示されるスラッグを設定します。
「http://ドメイン/スラッグ/記事のパーマリンク」という形でURLが作成されます。
複数形のラベル
左のメニューに表示される名前になります。「固定ページ」や「投稿」とは別に分かりやすい名前をつけておきましょう。
単数形のラベル
日本語の場合は関係ありませんので、「複数形のラベル」と同じものを入力します。

上記3つを設定したら「投稿タイプを保存」で一旦保存しましょう。
左のメニューに登録したラベルが表示されるはずです。今後、このカスタム投稿の記事をアップするときはそのメニューから「新規追加」していきます。

追加ラベル

ここの項目は基本的に何も設定しなくても大丈夫です。

設定

重要な設定項目のみをピックアップします。

アーカイブあり
初期設定は「false」になっているのでアーカイブがない状態になっています。
この状態でカスタム投稿タイプの一覧を表示するURL(http://ドメイン/カスタム投稿のスラッグ/)を表示させても「お探しのページが見つかりません。」となります。記事のアーカイブを表示させたい場合は、この設定を「true」にしてください。
「アーカイブURLに使うスラッグ」の項目にスラッグを入れると任意のURLにすることができます。
検索から除外
Googleなどの検索エンジンから除外するという意味ではありません。WordPressの表にページに設置するページ内検索から除外するかどうかの設定です。
階層
固定ページと同じように記事に親子関係を設けるかどうかの設定です。初期設定は「false」なのでそのままで良いと思います。これが「true」になっていると管理画面の投稿の一覧で表示される記事の順番が逆(古いものが一番上)になるので気をつけてください。
カスタムリライトスラッグ
先ほどの「アーカイブあり」の項目で設定できた「アーカイブURLに使うスラッグ」はカスタム投稿タイプの記事一覧を表示させるURLの設定でした。
ここはそれぞれの投稿ページのURLの設定です。通常、記事のURLは「http://ドメイン/カスタム投稿のスラッグ/記事のスラッグ」という形になります。URLの「カスタム投稿のスラッグ」の部分を変更したい場合はここに入力します。
メニューの位置
管理画面の左メニューのどの位置にカスタム投稿タイプのメニューを表示させるかを設定できます。5~100の間で設定します。数字が少ないほうが上に表示されます。
サポート
記事の投稿欄でどの項目を表示させるかを決めます。
初期値では、「タイトル」「エディター」「アイキャッチ画像」にチェックが入っていますが、例えばタイトルは必要がない場合はチェックをはずすと、記事の投稿時にタイトルを入力する欄が表示されなくなります。
利用するタクソノミー
投稿で使用されているカテゴリーやタグをカスタム投稿タイプでも使用したい場合はチェックを入れます。カスタム投稿タイプ用のオリジナルのカテゴリも後で作成できるので、オリジナルで作成したい方はチェックを入れなくて大丈夫です。

以上で投稿タイプの追加は完了です。説明を省略している部分は基本そのままでも大丈夫です。
次は、投稿の「カテゴリ」「タグ」に該当する「タクソノミー」というものの設定をします。

タクソノミーとタームについて

タクソノミー(分類)というのは記事を分類するもののことです。カテゴリやタグもタクソノミーのひとつです。カスタム投稿タイプでは、タクソノミーも新しく設定できますので、カテゴリのように利用してもいいですし、タグのように利用しても良いですし、使い方は様々です。タクソノミーには、実際に分類項目としてタームというものを設定していきます。話が少しややこしくなってしまったので、カテゴリを例に意味を覚えてください。

細かい定義はさておき、

タクソノミー = カテゴリ
ターム = カテゴリ名

といった意味として覚えていただければ良いと思います。

タクソノミーの追加と編集

それでは、実際にタクソノミーの設定をしていきましょう。左メニュー「CPT UI」>「タクソノミーの追加と編集」へと移動します。
先ほどと同じように基本的に必要な項目のみ説明していきます。

基本設定
タクソノミースラッグ
タクソノミーのスラッグを設定します。
カテゴリページのURLは、「http://ドメイン/archives/category/カテゴリのスラッグ」という形になっていますが、この中の「category」の部分にあたるスラッグを決めます。どういう分類にしたいかによって変わってきますね。

基本的に好きなスラッグにして良いのですが、英小文字とアンダースコア「_」だけを使うことと、予約語は使用しないように気をつけてください。

複数形のラベル
上記で決めたタクソノミーを日本語で分かりやすく記入します。「カテゴリ」を例にたとえると「カテゴリ」という名前がラベルになりますね。ここに入力したラベルが左のメニューのカスタム投稿のところに表示されます。
単数形のラベル
「複数形のラベル」と同じものを入力しましょう。
利用する投稿タイプ
どの投稿でタクソノミーを使用するかを決める部分です。基本的に登録したカスタム投稿タイプだけにチェックをいれれば良いですね。
追加ラベル

この項目はすべてそのままで大丈夫です。

設定
階層
初期値は「false」になっています。「投稿」のカテゴリは階層(親カテゴリと子カテゴリ)を持ちますが、タグはもっていません。どちらにするかはタクソノミーによって違いますので、適切な方を選択してください。
カスタムリライトスラッグ
タクソノミーのURLは通常「http://ドメイン/archives/タクソノミーのスラッグ/タームのスラッグ」という形になります。この「タクソノミーのスラッグ」にあたる部分を基本設定で登録した初期値でないものにしたい場合はここに入力します。
フロントでのリライト
URLの設定になります。
True(初期値)の場合:「http://ドメイン/archives/タクソノミーのスラッグ/タームのスラッグ」
Falseの場合:「http://ドメイン/タクソノミーのスラッグ/タームのスラッグ」
URLの中に「archives」を入れるか(True)入れないか(False)という意味です。

階層リライト
URLを階層表示にするかどうかの設定です。初期値はFalseなので、URLが階層表示になりません。
前提として「階層」の設定が「True」である必要がありますが、「親ターム」>「子ターム」という親子関係があっとしたとして、子タームのアーカイブのURLを

False:「http://ドメイン名/archives/タクソノミーのスラッグ/子タームのスラッグ」
True:「http://ドメイン名/archives/タクソノミーのスラッグ/親タームのスラッグ/子タームのスラッグ」

のどちらにしたいかを決めます。親子関係をURLに反映させたい場合は「True」にします。

以上がタクソノミーの設定になります。
後は実際に、カスタム投稿を使ってみてください。カスタム投稿は実際に使ってみるのが一番理解が早いと思います。こういうところまで理解できたらWordPressも中級って感じですね。

最近の記事

  1. WordPress

    WordPressの立ち上げからサイト構築までの初期手順
  2. CSS

    擬似クラス「:first-child」「:last-child」はどうして効かな…
  3. CSS

    レスポンシブウェブデザインの基本|メディアクリエリの設定
  4. CSS

    CSS|中央寄せが効かないときは・・・
  5. CSS

    要素の配置が簡単に決まるFlexboxの使い方
PAGE TOP