第20回 記事の分類 その3

事前準備

  • https://icc.firstelement.co.jp/ を開こう。
  • 「Local」を立ち上げて、icc-booksの左側のグレーの三角をクリックしてサイトを起動し、Localの右端にあるADMINボタンをクリックしてWP管理画面にログインしよう。

前回のおさらい

記事の格納場所 = 投稿タイプ

WordPressのデフォルトで備わっている2つの投稿タイプ

投稿」と「固定ページ

投稿

  • 投稿日時が重要な記事
    • 例:お知らせ、ニュース、ブログ
  • 更新頻度が高い記事
  • 階層構造にできない
  • カテゴリー」と「タグ」で分類できる

固定ページ

  • 投稿日時があまり関係しないもの
    • 例:会社概要、アクセス、事業内容
  • 階層構造にできる
  • カテゴリーやタグの分類はない

第3の分類方法(?)カスタムフィールド

  • 分類というより”メモ欄”に近いイメージ
  • 記事に付随する情報を埋め込める(一般にメタ情報と言われる)
  • 有名な便利なプラグインがあるので、何でもカスタムフィールドに登録する(望ましくない)傾向が高まっていた
  • アンケートの「その他のご意見」欄にすべて詰め込むような状態
  • 検索速度も遅い
  • 一覧ページは生成されない

「名前」と「値」に分けて保存できることで、ターゲットの「名前」を指定して絞り込むことができるので、”分類”として機能させることもできる。

…が、あくまでメタ情報を記録できる”メモ欄”と認識し、カテゴリーやタグで分類できるものはそれらで分類し、分類しきれない情報をカスタムフィールドに登録するのがシステム的には望ましい。

記事の”格納場所”と”分類”は増やせる〜カスタム投稿タイプとカスタムタクソノミー

  • WordPressのコアの機能だが「Custom Post Type UI」などのプラグインを使うと簡単に拡張可能
  • どんな場面で使うのか?
    • 例:地域情報サイト、求人サイト、中古車販売、各種ポータルサイト
  • 大量の情報を登録するデータベース的なサイトではかなりの確率で使用する
  • プラグインにより、それとは知らずにカスタム投稿タイプ/タクソノミーが追加されることもある

まとめ

投稿、固定ページ、カテゴリー、タグ、カスタムフィールド、カスタム投稿タイプ、カスタムタクソノミー…これらを組み合わせて使い分けることで、情報を探しやすい、また管理者も管理しやすいサイトを構築できる。これらを使いこなすとようやくWordPressが「CMS」らしくなる。

実際に分類やメタ情報を登録してみよう

例題)出版社に就職し、Web担当として自社のWebサイトに新刊本を紹介するコーナーを新設することになった。新刊本「WordPressホームページ入門」をサンプルとして、サイトに掲載する情報を考え、WordPressの分類機能に落とし込んで登録してみよう。

Local で新規サイト作成

  1. サイト名:icc-books
  1. 「ADD SITE」ボタンを押すと15秒ほどでサイトが追加され、左側の一覧に「icc-books」という名称が表示され、丸いグリーンのアイコンが表示されていればサイトはインストールされ、起動済み。
  2. Localの右上にある「ADMIN」をクリックしてログイン画面を開き、先程作成した管理者名でログインする
  3. 管理画面が英語になっているので、Settings > General ページを開き、ページ中程の「Site Language」から「日本語」を選び、「Save Changes」ボタンをクリック ⇒日本語になる
  4. テーマを「Twenty Twenty」に変更
  5. プラグイン「Custom Post Type UI(略称:CPT UI)」プラグインをインストール

CPT UIを使って「書籍」という投稿タイプをつくる

  1. 投稿タイプスラッグ:books
  2. 複数形/単数形のラベル:書籍
  3. 「設定」枠の「サポート」にて、カスタムフィールドにチェック
  4. 投稿タイプを追加」ボタンをクリック
「書籍」投稿タイプではカスタムフィールドも使いたいので、「カスタムフィールド」にチェックを付ける

CPT UIを使って「本のカテゴリー」というカスタムタクソノミーをつくる

  1. タクソノミースラッグ:category2
  2. 複数形/単数形のラベル:本のカテゴリー
  3. 利用する投稿タイプ:「書籍」にチェック
  4. 「設定」枠の「階層」を真に切り替える
  5. タクソノミーを追加」ボタンをクリック

以上で、「書籍」という投稿タイプが左メニューに表示され、サブメニューとして「本のカテゴリー」が表示されている。

書籍 > カテゴリー から、必要なターム情報を入力する

※エクセルファイル「book-sample-data.xlsx」のシート「本のカテゴリーのタームリスト」 を元に入力

書籍「WordPressホームページ入門」のデータを登録する

※エクセルファイル「book-sample-data.xlsx」のシート「サンプル書籍データ」を元に入力

  1. タイトル
  2. 本文 = 商品の説明
  3. 本のカテゴリー

付随する情報をカスタムフィールドに登録する

CPT UIプラグインで「書籍」投稿タイプでもカスタムフィールドを使えるように設定したが、初期状態ではカスタムフィールド入力欄は非表示になっている。はじめに、カスタムフィールドの入力欄を表示する。

  • 右上の3点ドットメニュー > 設定をクリック
  • 左の「パネル」タブをひらき「カスタムフィールド」をOnにする
  • リロードして有効化
     ⇒ 本文欄の下部にカスタムフィールドの入力欄が表示される

エクセルファイル「book-sample-data.xlsx」のシート「サンプル書籍データ」の「情報の保存先」が「カスタムフィールド」になっている項目をカスタムフィールドに一つずつ登録する。

おもてのページを確認してみよう

⇒ カスタムフィールドが表示されていない
 ⇒ テーマファイルの編集が必要

テーマファイルを編集してカスタムフィールドの値が表示されるよう修正

  • 外観 > テーマエディター
    • Twenty Twenty
      • template-partsフォルダ(三角の矢印が付いている)
        • content.php
          • 38行目の’>’の後で改行
<?php the_meta(); ?>
  • と記述
  • 「ファイルを更新」ボタンをクリック
  • おもてのページを確認
    • 入力したカスタムフィールドの値がひとかたまりで表示されます。
    • これは使いづらいので、カスタムフィールドの値を一つずつ表示できる post_custom関数を使用
  • 先程のthe_metaの部分を
<?php echo post_custom('著者'); ?>
  • と打ち直す
  • おもてのページを確認
     ⇒ 「著者」情報のみが表示される
     ⇒ 表示されるのは値のみで項目名は表示されない
      ⇒ PHPタグの手前に「著者:」というように項目名を補う
  • 他の情報も同様に入力
  • おもてのページで確認してみるとすべての情報が羅列されているので、各項目の最後に<br>タグを入力し改行してみる
<?php echo post_custom('著者'); ?><br>
<?php echo post_custom('単行本価格'); ?><br>
  • brタグで区切ることも多いが、この場合は<dl><dt><dd>タグを使うと意味的にもデザイン的にもまとまる

dl = Description List = 定義リスト
dt = Description Term = 項目名
dd = Description Details = 内容
br = Line Break = 改行

完成形のソースコード
完成形のイメージ

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x