ゆろぐ

ゆるく、ろぐる。独学フロントエンドエンジニアの技術ブログ

【Custom Field Suite】カスタムフィールドデータの取り出し方

おはようございます。

今年は基本毎日投稿を目指して頑張ってるゆすけです。(本日2日目・・・)

フリーランスで毎日家で仕事をしていると、夏と冬はどうしても電気代が高くなるので、今年は節約のためにも暖房を使わないチャレンジをしているので手が悴んで作業効率が悪すぎるので悩む毎日。

100均の指先の空いている手袋と、もこもこ靴下が今の相棒です。

「Custom Field Suite」とは?

今日の本題は無料で使えるカスタムフィールドを追加するプラグイン「Custom Field Suite」について。

→プラグインのダウンロードはこちら

カスタムフィールドを追加するプラグインとしては、高性能な「ACF(Advanced custom field)」を使われている方も多いと思います。

カスタムブロックなどを作成したり、管理画面からカスタム投稿を追加できる機能もあるので、初学者の方や社内運用の際にはとても重宝するプラグインです。

一方で無料だと機能が制限されてしまい、特にループ機能が使えないことが一番のネックになります。

カスタムフィールドを使う場面では、実際に投稿を担当するクライアントが投稿しやすいような管理画面を作成する目的で使うことが多く、リスト表示や画像の登録など、投稿ごとに個数が変わるような場合にはループ機能が必須です。

「Custom Field Suite」はACFと比べると使える機能はある程度絞られてしまいますが、ループ機能が無料で使えるという点ではかなり重宝されています。

自分でカスタムフィールドを追加できない方や、ループ機能を無料で使いたい方におすすめのプラグインです。

早速本題(Custom Field Suiteのデータの取り方について)

今回の記事の本題は「Custom Field Suite(CFSに省略します)」で設定したカスタムフィールドの取り出し方。

CFSで追加したカスタムフィールドは主に2つの方法で取り出すことができます。

// CFSの標準機能で取り出す方法

$field = CFS()->get('ここにフィールド名');
// WordPressの標準カスタムフィールドとして取り出す方法

$field = get_post_meta($post->ID,'ここにフィールド名',true)
// $post->IDは取得したいフィールドのある投稿IDを入力

普段からカスタムフィールドを自作で使っている方の場合、後者の方が使いやすいと思いますが、初学者の方やCFSに依存したカスタムフィールドの使い方であれば前者の方が使いやすそうです。

WordPressの標準の取り出し方ができるので、CFSを停止する場合は、既存のカスタムフィールドからの移行もスムーズにできるのかもしれません。(こちらはまだ未検証なので検証したら別記事で紹介したいと思います)

ループフィールドの取得方法

CFSを使ってループ形式のフィールドを作成した場合、一度変数に入れてからforeachなどを使って処理をするのが一般的です。

$loop = CFS()->get('ここに親フィールド名');
foreach($loop as $ele) {
  echo $ele['ここに子フィールド名'];
}

注意点として、ループフィールドの場合はWoredpressのデフォルトの「get_post_meta」では取得できないので注意が必要です。

まとめ

ループを使わない場合はWordpressの標準的な取り出し方で取得できるので、普段からテーマファイル内でカスタムフィールドを定義している場合でも使いやすいですね。

ただ、CFSを使う一番のメリットは、ループ機能を無料で使えるという点。

ループ機能を使う前提で考えると、CFSを使う場合はCFS()->get(‘フィールド名’)を使ったCFS標準の取り出し方をしておく方が無難です。

カスタムフィールドはしっかりと設計をしておくことで、サイトの管理者・運営者が雛形通りの投稿できるようになり、ノーコードでも綺麗なレイアウトを維持して投稿し続けることができるようになります。

作って終わりのWEBサイトではなく、お客様にしっかりと運用してもらえるWEBサイトにするためにも、設計からしっかりとこだわりたいですね。

【Custom Field Suite】カスタムフィールドデータの取り出し方

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

トップへ戻る