WordPressによるWEBサイト開発6 – 投稿タイプ・フィールド・タクソノミの追加

管理画面に投稿・固定ページ以外の入力フォームを追加

カスタム投稿タイプを使うには、本来functions.phpにコードを追加する必要がありましたが、今は投稿タイプ(post_type)の追加とタクソノミの追加は、プラグインCustom Post Type UIで、フィールドの追加はプラグインAdvanced Custom Fieldsで簡単に実現できます。

タクソノミを追加してしまえば、あとはカテゴリに項目を追加するのと同じように、タクソノミにも項目の追加ができます。

投稿タイプ(Custom Post Type UI)

商品カタログや不動産物件情報など、WEBサイトのコンテンツフォーマットに合わせて、プラグインからpost_typeを追加することで、管理画面に専用入力フォームを作成します。

  1. 投稿(post)・固定ページ(page)とは別の投稿タイプ(post_type)の入力画面を追加
  2. デフォルトでは「タイトル」と「本文」の2つだけなのでカスタムフィールドで入力項目追加

フィールド(Advanced Custom Fields)

デフォルトの投稿記事や固定ページ、カスタム投稿フォームに入力フィールドを追加し、WordPressのクエリで出力する関数を提供してくれます。

  1. フィールドグループ(仕様詳細)と属するフィールド群(サイズ・価格・画像など)を定義
  2. フィールドグループと投稿タイプ(投稿・固定ページ・カスタム投稿タイプ)を紐付け
  3. テンプレートタグecho get_post_meta($post->ID, ‘カスタムフィールド名’, true)で出力(第三引数はtrueが文字列、falseが配列)
  4. Advanced Custom Fields関数であるthe_field(‘フィールド名’)で出力

タクソノミ(Custom Post Type UI)

カテゴリとタグの違いは階層化の可否ですが、投稿記事でしか使えないので、カスタム投稿をカテゴリのように階層化するにはカスタムタクソノミを使います。

投稿記事を分類化するということは、カテゴリ項目(会計システム・生産管理システム etc.)を投稿に紐付けるということであり、同じようにカスタム投稿を分類化するには、まず分類自体をタクソノミとして定義してから、タクソノミ項目をカスタム投稿に紐付けます。

  1. タクソノミ(ブランド)を定義し、投稿タイプ(投稿・固定ページ・カスタム投稿タイプ)に紐付け
  2. タクソノミ(ブランド)に項目(ロレックス・セイコーなど)を追加
  3. 新規カスタム投稿時にタクソノミの項目を選択

Advanced Custom Fieldの関数でフィールドの値を取得

カスタムフィールドの値は、テンプレートタグget_post_meta()関数で取得可能です。

通常はカスタムフィールド作成プラグインの定番Advanced Custom Field関数を使用します。

数値・テキスト

基本はthe_field()関数で表示、get_field()関数で取得します。

画像

WordPressで画像を挿入したときに、オリジナルのサイズ以外にサムネイル・中・大の3種類のファイルが自動生成され、メディアとして保存されます。

get_field()関数で画像から取得できる$imageは画像IDです。

チェックボックス

チェックボックスの値は配列で取得しますので、例えば自動巻き、クォーツ、手巻きという3つのチェックボックスの配列の値を取得します。

こんな投稿も読まれています