カスタム投稿タイプの演習

カスタム投稿タイプ「書籍」の作成

カスタム投稿タイプ「書籍」を作成しましょう。

  • スラッグ「book」
  • 表示名「書籍」
  • アーカイブ機能を利用
  • 階層化しない
  • titleのラベルを「書名」に。
  • supportは「title」のみ利用

書籍にカスタムフィールドを関連付け

カスタム投稿タイプ「書籍」に対応させるフィールドグループ「書籍フィールド」を作成し、

  • 著者 (author, テキスト, 必須)
  • ISBNコード(isbn, テキスト, 必須)
  • 評価(score, range 0~100 , step: 5, 必須)
  • ブックレビュー(book_review, テキストエリア, 必須)

のフィールドを設定しましょう。

記事の作成

以下の内容で記事を作成しましょう

タイトル 著者 ISBN 評価 ブックレビュー
こころ 夏目漱石 9784101010137 90 「こころ」のブックレビューです。
ぼっちゃん 夏目漱石 9784101010038 95 「ぼっちゃん」のブックレビューです。
金閣寺 三島由紀夫 4101050082 100 「金閣寺」のブックレビューです。
伊豆の踊子 川端康成 4101001022 85 「伊豆の踊子」のブックレビューです。
走れメロス 太宰治 4101006067 80 「走れメロス」のブックレビューです。
詳解Wordpress プライム・ストラテジー 4873116783 95 「詳解Wordpress」のブックレビューです。
プレゼンテーションzen ガー・レイノルズ 462106603X 90 「プレゼンテーションzen」のブックレビューです。

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

カスタムタクソノミー「書籍カテゴリ」と カスタムタクソノミー「書籍タグ」を作成し、 以下のように設定しましょう。 書籍カテゴリのスラッグはbook_categoryとし、階層化を許可してください。 (書籍カテゴリは、実際には複数設定可能ですが、各書籍について一つだけ設定する運用とします。) 書籍タグのスラッグはbook_tagとしてください。

書名 書籍カテゴリ 書籍タグ
こころ 文学 古典, 小説, 純文学
ぼっちゃん 文学 古典, 小説, 純文学
金閣寺 文学 古典, 小説, 純文学, 火事, 京都, 寺
伊豆の踊子 文学 古典, 小説, 純文学, 伊豆
走れメロス 文学 古典, 小説, 純文学, 又吉直樹, ギリシャ
詳解Wordpress プログラミング PHP, Wordpress, ブログ, 中級
プレゼンテーションzen ビジネス プレゼンテーション, 外国人著者, セミナー

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

カスタム投稿タイプ「book」用のテンプレートを作成してください。

「書籍」アーカイブの作成

カスタム投稿タイプ「book」のアーカイブ用テンプレートを作成してください。

  • ヘッダーにカテゴリリンクを表示(ダイナミックサイドバーを利用)
  • パンくずリストを表示
  • 評価を表示
  • レビューへのリンクを表示

アーカイブページの例(デザインは任意のカスタマイズをしてください。)

書籍アーカイブの例

「書籍」個別記事ページの作成

カスタム投稿タイプ「book」の個別記事ページ用テンプレートを作成してください。

  • ヘッダーにカテゴリリンクを表示(ダイナミックサイドバーを利用)
  • パンくずリストを表示
  • isbn以外の全てのカスタムフィールドを表示
  • isbnを利用してAmazonリンクを作成

個別記事ページの例(デザインは任意のカスタマイズをしてください。)

書籍個別ページの例

https://www.amazon.co.jp/dp/[isbnコード] でアマゾンの商品ページへリンクを貼ることが可能です。

カスタムタクソノミー用テンプレートの作成

「書籍カテゴリ」アーカイブの作成

書籍アーカイブページと同様の表示にしましょう。

「書籍カテゴリ-文学」アーカイブの作成

「文学」の書籍カテゴリにのみ、青空文庫の紹介文を表示させてみましょう。

書籍カテゴリ「文学」の例

「書籍タグ」アーカイブの作成

書籍アーカイブページと同様の表示にしましょう。

「書籍タグ一覧」の作成

書籍タグ一覧のメニューを作成し、サイドバーに表示しましょう。

書籍タグ一覧の例

書籍タグのターム一覧は

$book_tags = get_terms('book_tag');

で取得することが可能です。

また、タグへのリンクは

<a href="<?php print get_term_link([個々のタームオブジェクト])">

として作成可能です。

results matching ""

    No results matching ""