カスタム投稿タイプを作成する[register_post_type]

2016年6月23日

テーマを一から作成する 第12回目

 

カスタム投稿タイプをプラグインを利用せずに投稿できるようにします。またカスタム投稿タイプの記事一覧ページ(アーカイブページ)なども作成していきます。

 

第11回目

アイキャッチを利用する[add_theme_support]

 

 

スポンサーリンク

 

 

今回は「book」という投稿タイプを設定した「書籍」という名前のカスタム投稿タイプを作成していきます。

 

まずはじめに以下のコードをfunctions.phpに追記して下さい。

 

functions.phpに追記

 

カスタム投稿タイプの追加はregister_post_type関数を利用します。上記コードでは、定義したcreate_post_type関数をinitアクションフックのタイミングで呼び出しています。

 

上記コードを記述すると、管理画面に「書籍」というメニュー項目が表示されるようになります。実際に記事を投稿することが可能となります。

 

書籍メニュー

 

 

register_post_type関数には、二つのパラメータを指定します。一つ目は投稿タイプ名(半角英数字20文字以内で大文字や空白は禁止)で、これから作成するsingle-book.phpやarchive-book.phpのテンプレート名のbook部分になります。二つ目は連想配列で、その中には上記で設定したlabelやdescription以外にも様々な引数が存在しますので詳しくは参照ページをご覧下さい。

 

 

 

カスタム投稿タイプのテンプレートを作成する


 

次にカスタム投稿タイプを表示させるためのテンプレートを作成します。カスタム投稿タイプで利用されるテンプレートには以下の種類があります。

 

 個別記事

single-投稿タイプ名.php
single.php
singular.php
index.php

 

 アーカイブ

archive-投稿タイプ名.php
archive.php
index.php

 

今回は single-book.php と archive-book.php を作成します。それぞれのテンプレートファイルを用意したらテーマディレクトリ(/wp-content/themes/sample/以下)にアップロードし、以下のコードを記述して下さい。

 

single-book.php

 

5行目

実際に画面を表示させた際に、single-book.phpテンプレートが利用されていることを明示しています。

 

 

<main>〜</main>の部分は下記のように表示されます。

カスタム投稿の記事

 

 

archive-book.php

 

5行目

実際に画面を表示させた際に、archive-book.phpテンプレートが利用されていることを明示しています。

 

6行目

現在の投稿タイプのアーカイブページのタイトルを表示させています。今回は「書籍」と表示されます。

 

7行目

register_post_type関数内の引数descriptionに指定した説明文を表示させています。今回は「書籍の紹介です」と表示されます。

 

<main>〜</main>の部分は下記のように表示されます。

カスタム投稿アーカイブの表示

 

 

「書籍(投稿タイプ:book)」カスタム投稿タイプのアーカイブページは、下記のアドレスで表示されます。

 

サイトアドレス/sample(テーマ名)/book/

 

このアドレスは

で出力することができます。

 

 

 

カスタム投稿タイプページへのメニューを作成する


 

これからヘッダー部分のメニュー(header.php内にカスタムメニューが表示されるコードが記述されている)と、サイドバー(sidebar.php)に「書籍(投稿タイプ:book)」カスタム投稿タイプページへのリンクを貼ります。

 

まずは以下のページで作成したヘッダー部分(header.php)のカスタムメニューを利用して「書籍(投稿タイプ:book)」カスタム投稿タイプのアーカイブページへのリンクを貼ります。

 

カスタムメニューを作成する[add_theme_support][wp_nav_menu]

 

 

外観>メニュー を選択してヘッダー部分のメニュー(Menu 1)にカスタムリンクで下記のようにカスタム投稿リンクのアーカイブページを追加します。URLの欄は、httpから始まる実際のアドレスを入力して下さい。

 

 

カスタムリンクで「書籍」を追加。

カスタム投稿タイプメニュー追加

 

 

ヘッダーに「書籍(book)」カスタム投稿タイプのアーカイブページのメニューが表示されます。

 

 

メニューの一番下に「書籍」が表示されました。

ヘッダーに追加される

 

 

最後にサイドバー(sidebar.php)に「書籍(book)」カスタム投稿タイプの記事一覧名とそのリンクを表示させます。

 

sidebar.phpに以下のコードを追記します。

 

 

サイドバーの領域の下部に「書籍」カスタム投稿タイプの記事一覧が表示されました。

サイドバーに追加される

 

 

 

これまで(第1〜12回目)の解説を、まとめて整理したテーマファイルは以下のリンクからダウンロードできます。

 

ダウンロード

 

 

次回は404エラーページを作成します。

第13回目

404エラーページを作成する[404.php][is_404()]

 

 

参照ページ


 

WordPress
Codex日本語版

カスタム投稿タイプ

関数リファレンス/register post type

関数リファレンス/post type archive title

テンプレートタグ/get posts

関数リファレンス/setup postdata

 

 

LINEで送る
Pocket

Copyright © 2019 思考の葉 All Rights Reserved.  プライバシーポリシー