WordPressのカスタマイズ方法やプラグインレビューを中心に、パソコン/動物/植物のことなどを紹介するホームページです

カスタムフィールドの追加と管理・グループの管理ができるプラグイン「Custom Field Suite」

公開日:2018(平成30)年5月18日/最終更新日:

WordPress Plugin



WordPressのカスタム〇〇と呼ばれる拡張機能の1つであるカスタムフィールド。知ってはいるけどどうやって使ったらいいの?という方も多いハズ。

通常のカスタムフィールドは投稿ごとにキーを設定して入力していくという方式なので個人的にはとても使いにくいのですが、これをフォームのようにして使えるようになるのがこのプラグインのいいところだと思います。

【Custom Field Suite】はWordPress標準のカスタムフィールド機能を拡張するプラグインです。

似たもので有名なプラグインに「Advanced Custom Fields(ACF)」がありどちらを使うか迷うところですが、ACFのように独自のフィールド構造を持たないため、カスタムフィールドに入力した値を検索等に使用したい場合にはこちらの方がおすすめです。

【Custom Field Suite】プラグインの基本的な機能・できること

  1. カスタムフィールドの追加・削除などができる
  2. カスタムフィールドが格段に入力しやすくなる
  3. グループ化することで設定したカスタムフィールドを表示する環境を指定できる

本ページを最後に編集したときの環境・バージョンなど

プラグインは製作者によって日々更新されていくため、この紹介記事が最新バージョンのものであるとは限りません。参考までに本記事の最終更新日時点におけるテスト環境、プラグインバージョン、プラグイン導入時の留意点などを記載しておきます。

プラグインを使用(試用)したテスト環境・公式ページなど

この紹介記事作成にあたって、試用(テスト)を行った環境、本記事で紹介するプラグインバージョン、現在配布されている最新バージョン、公式ページのリンク等は以下の通りです。

テストしたサーバーColorfulBoxカラフルボックス
WordPressバージョン6.4.2
PHPバージョン8.0.30
テストしたテーマHABONE(本サイトでも使用しているオリジナルテーマ)
プラグインバージョン本記事で紹介するために試用したバージョン :2.6.4
公式サイトで配布されている最新バージョン :2.6.5
※バージョンが違うと、仕様が大きく変更となっている可能性があります
テストした日
※本記事の最終更新日であり、実際の試用日とは異なることがあります
公式サイトhttps://wordpress.org/plugins/custom-field-suite/
※wordpress.org上のページへのリンクです
作者サイト
※プラグイン制作者の独自ページ(サイト)リンクです

本記事を参考にWordPressサイトへプラグインの導入を検討される方へ

WordPressは古くから無料で配布されているサイト作成ツール(CMS)で、随時改良が加えられており、さまざまなバージョンが存在します。

さらにWordPressを動かすためのプログラムであるPHP、サイトのデータを保存しておくためのデータベースについても様々なバージョンがあります。

そしてWordPress本体同様にプラグインについてもさまざまなバージョンが存在します。

本記事を参考にプラグインの導入をお考えの方は、以下に留意の上でインストールするようにしてください。

  • テスト環境での動作に基づいた紹介記事ですので、すべての環境で正常に動作するかどうかは不明です
    ※本記事の内容についてはページ内に記載しているプラグインバージョンのものになります。現在のバージョンと異なる場合、機能や日本語対応の状況などが異なる場合があります。
    ※また、テスト環境、テストしたプラグインバージョン等の表示が本文内にない場合、ページタイトル下にある最終更新日当時の情報となりますので、現在のバージョンでは全く違う機能となっているかも知れません。
  • プラグインに無料版と有料版(Pro版)がある場合、特に記載がなければ無料版の情報のみを紹介しています
  • このページでプラグインを使用する際に必要なショートコードやコードなどは、コピーして使用することができますが、環境によっては記号などが文字化けすることがあります。コピーしたのに動作しない場合は特に「”」「’」などの記号を入力し直してみてください。
  • プラグイン本体の動作不具合や質問などは公式サイトのフォーラムなどで行ってください(ここでは質問にお答えすることはできません)

【Custom Field Suite】プラグインの設定画面や表示の日本語化と翻訳

【Custom Field Suite】プラグインは有効化すると日本語で使用できるようになっていますので、英語が分からない方でも安心して使えます

【Custom Field Suite】プラグインのインストールと設定

インストール方法

インストールはプラグインの新規追加でプラグイン名を入力して検索してインストールするか、WordPressのプラグイン公式配布ページからダウンロード後、管理画面からアップロードインストールしてください(プラグインの公式ページは本ページ内記載のリンクをクリック、もしくは、WordPress公式サイトで検索してください)。

WordPressを使い始めて間もない方(初心者の方)は、より詳細なプラグインのインストール手順や、インストール時に起こる問題などへの対処方法をまとめた【WordPress】プラグインのインストール&追加方法とエラー対処の方法も併せてご覧ください。

【Custom Field Suite】プラグインの基本的な使い方

カスタムフィールド作成の流れとしては

  1. グループ(どの種類の投稿編集画面で表示・使用するか)の設定
  2. グループ内で管理するカスタムフィールドの設定

の大きく2つになります。設定した投稿タイプ(投稿やカスタム投稿タイプ)すべての投稿編集画面で表示されるようになるので決まった内容を入力できる、いわゆる投稿フォームのような使い方ができます

公式サイトのスクリーンショットをいくつか紹介しておきます

カスタムフィールドの追加と管理・グループの管理ができるプラグイン「Custom Field Suite」|Knowledge Base
カスタムフィールドの追加と管理・グループの管理ができるプラグイン「Custom Field Suite」|Knowledge Base
カスタムフィールドの追加と管理・グループの管理ができるプラグイン「Custom Field Suite」|Knowledge Base

【Custom Field Suite】プラグインの便利な使い方・カスタマイズ方法など

より便利に使うカスタマイズ技やテストサイトで使用した結果や感想、WordPressのプラグイン公式配布ページには書かれていない事柄などを紹介します。

カスタムフィールドに入力した値を投稿本文へ呼び出す方法

【Custom Field Suite】プラグインは、投稿編集画面に入力フォームを作り、カスタムフィールドの管理を簡単にするためのものですので、実際に投稿や固定ページの本文内へ出力する機能は持っていません。

投稿や固定ページの本文内などへ呼び出す場合には、別のプラグインを使うか、テーマのfunctions.phpへコードを追加して、呼び出したい場所へショートコードを挿入して表示させます。

カスタムフィールドの値を呼び出すプラグインを使う方法

以下のプラグインを使うことで簡単に呼び出すことができます。

テーマのfunctions.phpへの追記経験がない方、スキルに不安がある方にはおすすめです。

詳しい使い方は以下のリンク先ページをご覧ください。

カスタムフィールドの値を呼び出すコードをテーマのfunctions.phpへ追加する方法

以下のコードを有効化しているテーマ(子テーマ)のfunctions.phpへ追加します。

/*** ha-fieldショートコードでカスタムフィールドの値を表示 ***/
if ( !function_exists( 'ha_show_shortcode_field' ) ){
function ha_show_shortcode_field($atts){
	extract(shortcode_atts(array(
	'post_id' => '',
	'field' => '',
	), $atts));

	if(!empty($field)){
		global $post;
		$post_id = ('' === $post_id) ? $post->ID : $post_id;
		return get_post_meta($post_id, $field, true);
	}
}
}
add_shortcode('custom-field', 'ha_show_shortcode_field');

投稿(固定ページ)編集画面で以下のショートコードを挿入して、必要な情報を編集します。

[ha-field field='my_key' post_id='']
  • my_keyの部分を出力したいカスタムフィールドキー(名前)に変更します
  • 別の投稿にあるカスタムフィールドの値を出力したい場合は、「post_id=’〇〇’」の〇〇を指定します
    ※post_idをしない場合には現在の投稿・固定ページのフィールド値が出力されます

functions.phpの編集は失敗するとサイトが動作しなくなる可能性があります。スキルに不安な方、トラブル発生時に対処が困難な方はプラグインでの実装をおすすめします。

エクスポート・インポートで入力画面にカスタムフィールドが呼び出されなくなる現象が発生することがあります

未解決で、結局自身でメタボックスと項目の整備をして事なきを得た事象です(つまり対処方法は見つかっていません)。

発生したのは、カスタム投稿タイプで作成していたサイトの一部コンテンツを別のサイトへ分離した時でした。

移行先サイトをインストールし、カスタム投稿タイプ自体は「」というプラグインで画像も含めて簡単にエクスポート&インポートできました。もちろん、登録されていたカスタムフィールドも確実に移行されていることを確認しました。

それから、このプラグインのエクスポート・インポート機能を使って、フィールド項目の移行をし、編集画面を開いて見たら、カスタムフィールドの値はあるものの、このプラグインで出力されるメタボックス(フォーム)には表示されない(値が呼び出されない)現象が発生しました。

そこで、メタボックスに項目を入力して更新したところ、カスタムフィールドキーが複製され、入力された値が新たなキーと値として登録されていました。

恐らくは、このプラグインの繰り返しフィールドの管理で時間か何かで判断するなどしていて、内部キーの合わないものは、このプラグイン特有の繰り返しフィールドのような扱いになるようでしたが、いろいろと調べたり、公式のフォーラムを漁ってみるも、有用な情報はありませんでした。

私のように、カスタム投稿タイプの一部を別のサイトとして稼働させる場合など(つまりデータベース構造が変わってしまう移行など)では、同じような不具合が起こる可能性があるので注意が必要かも知れません。

投稿や固定ページの公開・更新をすると「Your session has expired.」という表示が出るだけで更新できないときは

自身のサイトで出た現象について備忘録として紹介しておきます。結局不具合の原因は以前に使っていたサイトでこのプラグインを再使用する場合に発生するようです。デバックモードを有効にすると

WordPress データベースエラー: [Table ‘テーブル名_cfs_sessions’ doesn’t exist]
SELECT data FROM データベース名_cfs_sessions WHERE id = ‘カスタムフィールドのID’ AND expires > ‘期限’

というエラーメッセージが表示されます。平たく言うと、このプラグインで設定されていたカスタムフィールドの有効期限が切れてますよ!ということなんです。

私の場合は恐らく以前このプラグインを停止・削除した際完全にこのプラグインで追加したカスタムフィールドを削除していなかったか、手動でカスタムフィールドを削除したかのいずれかだと思われます。

このプラグインにはオプション項目があり、WordPressの管理画面から「フィールドグループ」→「ツール」を開き、リセットタブから設定の削除をしたら解決できました。

※この方法でクリアすると以前のカスタムフィールドデータはすべて削除されますので注意してください(私の環境では・・という注釈付きですが、この作業で、CFSプラグインを使って追加していないカスタムフィールドには影響はありませんでしたが、作業時にはデータベースのバックアップを取ることをお勧めします)。

著:清水 由規, 著:清水 久美子, 著:鈴木 力哉, 著:西岡 由美, 読み手:星野 邦敏, 読み手:吉田 裕介
¥2,889 (2024/02/08 17:07時点 | Amazon調べ)