Smart Custom Fieldsの代替は、既存データをどこへ保存し、どこで表示するかから選びます。投稿メタを参照する仕組みと、記事本文のブロックを作る仕組みは、そのまま交換できないためです。同じ略称のSecure Custom Fieldsも別製品です。まず現在のフィールド名・値の型・表示コードを一覧にし、候補ごとに小さな再現テストを行いましょう。
この記事では代替候補を3つに絞っていますが、判断材料をもっと並べて比べたい方はカスタムフィールドプラグイン比較2026|ACF・SCF・CFS・Lazy Blocksの選び方もどうぞ。
2026年9月25日時点で、WordPress.orgではSmart Custom Fieldsを配布しています。一方、最新の主要3バージョンで未検証との注意書きがあります。開発終了と断定する根拠にはせず、自分のWordPress・PHP環境で継続利用できるかを確認する材料として扱います。
この記事では、既存のカスタムフィールドを保つ方法と、記事内の独自ブロックへ作り直す方法を比較します。移行には入力画面だけでなく、データ変換と表示コードの調整も含まれるため、小さなテストから判断してください。
SCFのデータをブロックへ変える方へ
本文で配置・編集する項目なら、Lazy BlocksのRepeaterが候補になります。移行対象を数件選び、値と表示を再現してから判断しましょう。
- ブロック化する項目を選ぶ
- 保存形式と表示コードを照合
- 検証後に移行する範囲を決める
Smart Custom FieldsとSecure Custom Fieldsは別製品です。
Smart Custom Fieldsの配布・更新状況を確認する
公式ディレクトリで、バージョン、変更履歴、動作確認済み環境を確認できます。5.0.8と5.0.7には脆弱性修正の記載があります。古い解説やレビューだけで現在の状態を判断せず、導入中の版と照合しましょう。
WordPress本体やブロックエディタは今も活発にアップデートが続いています。開発が止まったプラグインを使い続けることは、次のバージョンアップで突然動かなくなるリスクを抱え続けるということです。
CFSを候補にする前に、別製品として保守状況を調べる
Smart Custom FieldsとCustom Field Suite(CFS)は別の製品です。CFSの配布状況や脆弱性情報を、Smart Custom Fieldsの終了を示す根拠として使うことはできません。候補ごとに公式の情報を確認してください。
CFSは2024年8月20日、WordPress.orgでの配布が停止されました。理由はクロスサイトスクリプティング(XSS)、コードインジェクション、SQLインジェクションという複数の脆弱性が確認されたためです(JVN iPediaにJVNDB-2024-004159、JVNDB-2024-004382、JVNDB-2024-004383として登録されています)。
既存サイトでは、まずバックアップを用意し、使っているフィールド名とテンプレートの参照箇所を一覧にします。そのうえで、更新して継続できるか、移行が必要かを検証環境で判断します。プラグインを止める操作を先に行わないでください。
代替候補を比較する
主な代替候補を整理しました。
| プラグイン | 料金 | リピーター対応 | 特徴 |
|---|---|---|---|
| Secure Custom Fields | 無料 | ◯ | WordPress.org公式のACFフォーク。ACFとほぼ同じ操作感 |
| ACF(無料版) | 無料 | × | リピーターはPro版限定 |
| ACF Pro | $49〜249/年 | ◯ | 業界標準、ドキュメントが豊富。ただしサブスク費用が発生 |
| Meta Box | 無料〜有料 | ◯(無料枠あり) | 高機能だが独自の学習コストがある |
| Lazy Blocks | 無料 | ◯(無料版で標準搭載) | ブロックエディタに標準統合。ノーコードでリピーターブロックが作れる |
本文内のスタッフ紹介やFAQならLazy Blocks、投稿横断の検索・絞り込みに使う項目ならカスタムフィールド型というように、データの用途で比較します。無料かどうかに加え、既存データの変換と保守を誰が担当するかまで考えましょう。
同じように「開発終了・有料化」でプラグインの乗り換えを迫られているケースは他にもあります。装飾ブロック系プラグインでは、Arkhe Blocksの無料版が使えなくなった人へ|安全な代替手段で、Lazy Blocksへの乗り換え方を解説しています。
逆に、まだACF Proを契約中で「年額費用に疑問を感じている」という場合は、カスタムフィールドプラグイン比較2026で無料で使える選択肢もあわせて解説しています。
ブロック方式へ変更する場合の要件
Lazy Blocksを候補に入れるべき理由は主に2つあります。
1つ目は、無料版でリピーター機能が標準搭載されていること。
ACFのように「リピーターだけ有料版が必要」ということがありません。
Lazy Blocksでは独自の入力項目をブロックへまとめられます。ただし、現在のSCFデータと同じ保存形式になるとは限りません。本文のブロックとして保持する値と、投稿メタとして他の処理から参照する値を分けて設計します。
この後の例は、本文に配置する独自ブロックへの再構成です。既存SCFの値を自動変換する処理は含まれません。必要な入力項目と出力コードを確認し、少量のデータから試してください。
Lazy Blocksでリピーターブロックを作ってみる
実際にSCFで作っていたような「スタッフ紹介」ブロックを、Lazy Blocksで再現してみます。
1. プラグインをインストールする

WordPress管理画面の「プラグイン」→「新規追加」から「Lazy Blocks」を検索し、インストール・有効化します。
2. 新しいブロックを作成する
ブロックの名前とスラッグを決め、次に入力用コントロールを追加します。ブロック全体のスラッグと、PHPで値を取り出すコントロール名は別物です。サンプルコードと一致させるのは、それぞれのコントロール名です。

3. リピーターコントロールを追加する

ControlsのTypeで「Repeater」を選択し、その中にサブフィールドとして、
- 「名前」(テキスト)
- 「役職」(テキスト)
- 「写真」(画像)
を追加します。
4. 出力コードを書く

保存すると、以下のようなPHPコードでフロントエンドに出力できます。
<?php
// 1. リピーターのデータが存在し、配列であることを厳密にチェック
if ( isset( $attributes['staff_list'] ) && is_array( $attributes['staff_list'] ) && ! empty( $attributes['staff_list'] ) ) :
?>
<div class="staff-grid">
<?php foreach ( $attributes['staff_list'] as $staff ) : ?>
<div class="staff-card">
<div class="staff-photo-wrap">
<?php
// 2. 画像配列とURLが存在するかを厳密にチェック(Gutenbergのエラー落ちを防止)
if ( isset( $staff['staff_photo']['url'] ) && ! empty( $staff['staff_photo']['url'] ) ) :
?>
<img src="<?php echo esc_url( $staff['staff_photo']['url'] ); ?>" alt="<?php echo esc_attr( $staff['staff_name'] ?? '' ); ?>" class="staff-photo" loading="lazy">
<?php else : ?>
<div class="staff-photo-placeholder"></div>
<?php endif; ?>
</div>
<p class="staff-name"><?php echo esc_html( $staff['staff_name'] ?? 'Name' ); ?></p>
<p class="staff-role"><?php echo esc_html( $staff['staff_role'] ?? 'Role' ); ?></p>
</div>
<?php endforeach; ?>
</div>
<?php endif; ?>CSSを追加して実装したのがこちら
-
Michael Anderson
Lead Developer
-
Sofia Martinez
UI/UX Designer
-
David Chen
Backend Engineer
-
Emma Wilson
Marketing Manager

これで、投稿画面から「+」ボタンで作成したブロックを呼び出すだけで、スタッフを何人でも追加できるリピーター機能が完成します。
保存形式と作業量をそろえて比較する
ACFなどのメタデータ管理と、Lazy Blocksで本文を構成する方法は役割が異なります。無料機能、表示コード、既存データの変換まで比べて選びましょう。
- 必要なフィールド型を確認
- 移行と保守の担当を決める
- サンプルを同じ条件で比較
本記事の比較表へ移動します。
【注意】代替が見つからずPHP直書きに走っていませんか
移行対象は編集画面だけではありません。たとえば実績情報なら、詳細ページ・一覧カード・関連実績で同じ値を参照していないか、テーマのfunctions.phpやテンプレートも調べます。複数の場所で検索・参照する値は投稿メタのまま、本文中で配置する説明はブロックへ、という分け方もできます。置き換える範囲を決めることが、不要なコード変更を減らす第一歩です。
下の例では、入力欄は管理画面で作り、表示はPHPで定義します。コード不要の移行手順ではないため、保守する人が値の型・空欄・出力先に合うエスケープを確認できることが前提です。文字列1件で表示を確認してから繰り返しへ進み、元データを自動移行する処理とは分けて検証してください。
結論:あなたに合った選び方
| こんな人には | おすすめ |
|---|---|
| 個人開発・Gutenbergメインで運用している | Lazy Blocks |
| 法人サイトを複数運用、サポート体制を重視 | ACF Pro |
| ACFと同じ操作感のまま無料で移行したい | Secure Custom Fields |
| すでにClassic Editorで運用が固まっている | Secure Custom Fields/ACF |
次に行うのは、代表的な1ページでの比較です。通常の値だけでなく空欄、複数行、画像を含むデータも移し、入力・保存・公開表示を旧ページと照合しましょう。編集担当者が操作でき、値の件数と表示が一致することを確認できたら、バックアップを残して対象を増やします。候補選びに迷う方はカスタムフィールドの比較へ戻り、必要な保存形式から整理してください。
移行先の編集画面をテンプレートで試す
導入前に、編集担当者が繰り返し項目を入力・並べ替えできるかを確認しましょう。既存SCFのデータ移行は別の工程として計画します。
- 検証用ページへ1種類を導入
- 入力と並べ替えを試す
- 既存データとの違いを確認
インポートだけで既存SCFデータが移るわけではありません。

