Custom Field Suite(CFS)が使えなくなった人向け移行完全ガイド

WordPressでカスタムフィールドを扱うプラグインとして、Smart Custom Fieldsと並んで長年支持されてきた「Custom Field Suite(CFS)」。しかしこのプラグインは、既にWordPress.orgでの配布が停止されており、今から新規に導入することはできません。

この記事では、CFSが使えなくなった経緯を正確に整理したうえで、移行先の候補を横並びで比較し、実際にCFSのループフィールド(繰り返し項目)をどう移行すればいいのかまで、具体的な手順で解説します。

緊急のお知らせ
そのCFS、脆弱性を抱えたままです

WordPress.orgでの配布は停止済み。アップデートも今後提供されません。

  • XSS・SQLインジェクション等の複数脆弱性が確認済み
  • 無料版でリピーターフィールドが使える移行先あり
  • ブロックエディタにネイティブ統合
無料版から始められます

CFSが配布停止に至った理由は、単なるサポート終了ではありません。クロスサイトスクリプティング(XSS)、コードインジェクション、SQLインジェクションという複数の脆弱性が同時に確認されたことが直接の引き金です。停止日は2024年8月20日で、該当する脆弱性はJVN iPediaにJVNDB-2024-004159・JVNDB-2024-004382・JVNDB-2024-004383として登録されています。

つまりこれは「機能が古くなった」というレベルの話ではなく、攻撃者に悪用され得る具体的な欠陥が指摘された結果の措置だということです。

すでにサイトにインストール済みの方は今も動作は続けられますが、WordPress.org経由でのアップデート提供は止まっている状態です。脆弱性が是正される見込みも立っていないため、セキュリティ上のリスクを抱えたまま運用を続けることになります。早めに移行先を決めておくことを強くおすすめします。

Index

移行先候補を比較する

CFSからの移行先としてよく挙がる候補を整理しました。

プラグイン料金ループフィールド相当の機能特徴
Pods無料◯(Repeatable Group)高機能だが独自の管理画面・用語に慣れが必要
ACF Lite無料×リピーターはPro版限定
ACF Pro$49〜249/年業界標準、移行事例も多い。サブスク費用が発生
Meta Box無料〜有料◯(無料枠あり)高機能、フィールドタイプが豊富
Lazy Blocks無料◯(Repeaterが無料版標準搭載)ブロックエディタに標準統合。CFSと違いメタボックスではなくブロックとして本文に配置
PHP直書き(add_meta_box無料自前実装次第自由度は最大だが、保守性は低い

CFSからの移行というと、同じ「メタボックス型」であるPodsやACF Proが選ばれがちです。ですが、CFSのループフィールドで作っていたものの多くは、実際には「投稿本文の中に繰り返し表示したい情報」であることが多く、その場合はメタボックスに固執する必要はありません。ブロックとして本文中に直接配置できるLazy Blocksの方が、むしろ自然な移行先になるケースがあります。

装飾ブロック系のプラグインでも同様に、開発終了・有料化をきっかけにLazy Blocksへ乗り換える動きがあります。具体例としてArkhe Blocksの無料版が使えなくなった人へ|安全な代替手段もあわせてご覧ください。

気になる方はLazy Blocks公式サイトで、無料版の範囲を先に確認しておくと、この後の移行手順がスムーズに理解できます。

CFSのループフィールドをLazy Blocksに移行する

CFSで「実績・導入事例紹介」のようなループフィールドを作っていた場合を例に、Lazy Blocksでの再現方法を解説します。

CFSでの構成(Before)

CFSでは、投稿編集画面の下に表示されるメタボックス内に、「Loop」フィールドタイプで実績名・実施年・概要をセットにして繰り返し入力する構成が一般的でした(実績紹介・導入事例一覧などでよく使われるパターンです)。

Lazy Blocksでの構成(After)

同じ内容をLazy BlocksのRepeater Controlで再現します。

1. Repeater — Label: 実績一覧 / Slug: works_list
   a. Text     — Label: 実績名 / Slug: work_title
   b. Text     — Label: 実施年 / Slug: work_year
   c. Textarea — Label: 概要   / Slug: work_summary
PHP
<?php if ( ! empty( $attributes['works_list'] ) && is_array( $attributes['works_list'] ) ) : ?>
<ul class="works-list">
  <?php foreach ( $attributes['works_list'] as $work ) : ?>
    <li class="works-item">
      <span class="works-year"><?php echo esc_html( $work['work_year'] ?? '' ); ?></span>
      <div class="works-body">
        <p class="works-title"><?php echo esc_html( $work['work_title'] ?? '' ); ?></p>
        <p class="works-summary"><?php echo nl2br( esc_html( $work['work_summary'] ?? '' ) ); ?></p>
      </div>
    </li>
  <?php endforeach; ?>
</ul>
<?php endif; ?>

CFSとの主な違い(つまずきやすいポイント)

CFSでの感覚Lazy Blocksでの実態
メタボックス内に固定表示されるブロックとして本文中の好きな位置に配置する(複数配置も可能)
PHPテンプレート側でget_field()のような関数を呼び出すブロック自体に出力コードを持たせるため、テーマ側で個別に取得コードを書く必要がない
ループの入れ子(Loop内Loop)が可能だったLazy Blocksはリピーターの入れ子(ネスト)を公式に非対応としている。同じ構成が必要な場合は、複数の独立したリピーターに設計し直す

特に3点目は、CFSで複雑な入れ子構造を組んでいた人ほど注意が必要です。移行時は「本当にその入れ子が必要か」を見直すいい機会でもあります。

比較でわかる
Podsに飛びつく前に、こちらも検討を

複雑なリレーションが不要なら、学習コストの低いLazy Blocksで十分なケースがほとんどです。

  • Podsは独自概念の学習コストが高め
  • Lazy Blocksは無料でループ相当の機能を再現できる
  • ブロックとして本文に直接配置できる
本記事内の比較表にジャンプします

Podsへの移行という選択肢も

実際にCFSからPodsへ移行し、Repeatable Group機能でループフィールドを再現した制作者の記録もネット上にあります。Podsは非常に高機能なプラグインで、複雑なリレーション(投稿同士の関連付け)を組みたい場合には有力な選択肢です。

ただしPodsは独自の概念(Pod、Group、Fieldの階層構造)を理解する必要があり、学習コストはLazy Blocksよりも高めです。「CFSでやっていたことをシンプルに再現したいだけ」という場合は、Lazy Blocksの方が学習コストを抑えられます。

💡 このページで使われているダウンロードカード・料金表などの装飾ブロックは、すべて Lazy Blocks(Pro)で自作したものです。 作り方はこちら

結論:あなたに合った移行先

こんな人にはおすすめ
ブロックエディタ中心で運用、シンプルな繰り返し項目が中心Lazy Blocks
投稿同士の複雑なリレーションを組みたいPods
法人サイトで手厚いサポート・ドキュメントを重視ACF Pro
なるべく学習コストをかけたくない、無料で完結させたいLazy Blocks

CFSの公開停止は、単なる乗り換えの手間ではなく、脆弱性を抱えたプラグインを使い続けるリスクの問題でもあります。この機会に、ブロックエディタ標準統合というより現代的な構成への移行も検討してみてください。

無料プレゼント
プロ品質ブロックのJSONテンプレート、無料配布中

インポートするだけで、明日から移行先のブロックがすぐ使えます。

  • コピペ不要、インポートするだけ
  • リピーター対応ブロックがすぐ使える
  • メールアドレス登録も不要
メールアドレス登録不要
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

はじめまして。当ブログでは、毎日の作業や生活に「+α(プラスアルファ)」の価値を提供する、実用的なツールや手法を研究・発信し、その中から本当に効果のあったものを厳選してご紹介。成功事例だけでなく、失敗から学んだ教訓も率直にシェアすることで、読者の皆様が最短ルートで「使える知識」を得られることを目指しています。

「実践者の視点」を大切にしながら、根拠に基づいた情報をお届けします。私自身の検証プロセスを通じて得た、リアルな知見と具体的な活用法をぜひご活用ください。

Index