WordPressのカスタムフィールドは便利ですが、セキュリティ面を強化しないと情報漏えいの原因になることがあります。
Secure Custom Fields(SCF)は、入力データの暗号化や管理画面での安全な表示を可能にするプラグインで、特に個人情報や機密データを扱うサイトに最適です。
本稿では、Secure Custom Fieldsの概要、出力や繰り返しフィールドなどの使い方、Advanced Custom Fields(ACF)との違いまで解説します。
目次
Secure Custom Fieldsとは?
Secure Custom Fields(SCF)は、WordPress.orgが公式に提供している無料のカスタムフィールド管理プラグインです。
投稿や固定ページ、ユーザー、タクソノミーなどに直感的なUIでフィールドを追加できるのが特徴で、30種類以上のフィールドタイプを備えています。
カスタム投稿タイプやタクソノミーの登録も可能で、追加コードなしで柔軟なコンテンツ管理を実現します。
もともと Advanced Custom Fields(ACF) をベースに派生した経緯があり、商業的な要素を排除しつつセキュリティを重視して再構築されたのが特徴です。現在はWordPress.orgが開発を継続しています。
※Secure Custom Fields(SCF)の情報を調べる際は、類似プラグインの「Smart Custom Fields(同じ略称:SCF)」と混同しないよう注意が必要です。
メリット
- WordPress.org公式が開発・サポートしているため安心感がある
- 無料で利用でき、商業的な制限や課金要素がない
- 30種類以上のフィールドタイプをサポートし、柔軟なカスタマイズが可能
- 投稿・固定ページ・ユーザー・タクソノミーなど幅広い対象にフィールドを追加できる
- UIがシンプルでWordPress標準デザインに沿っており、初心者でも使いやすい
デメリット
- ACF Proのような高度な機能(条件分岐、繰り返しフィールドの細かい設定など)が一部制限されている
- 新しいプラグインであるため、情報や事例がACFに比べてまだ少ない
- ACFや他の類似プラグインと同時利用すると競合する場合がある
- コミュニティや外部チュートリアルがまだ十分に充実していない
Secure Custom FieldsとAdvanced Custom Fieldsの違い
項目 | Secure Custom Fields(SCF) | Advanced Custom Fields(ACF) |
---|---|---|
開発元 | WordPress.org | WP Engine |
背景 | ACFの脆弱性や商用ライセンス部分を除去 | フリーミアムモデルで有料版(ACF Pro)を販売 |
価格 | 無料 | 無料版 + Pro版 |
機能範囲 | 無料でACF Pro相当の主要フィールドを利用可能 | 無料版は基本機能のみ。高度なフィールドは有料 |
互換性 | テンプレートタグはACFと同等で互換性が高い | ACFオリジナル。サードパーティ製アドオンが充実 |
更新ポリシー | セキュリティ・安定性を重視 | 機能追加・有料展開に積極的 |
ショートコード | なし | あり |
Secure Custom Fields(SCF)は、Advanced Custom Fields(ACF)から商用ライセンス部分やトラッキング要素を取り除き、セキュリティを重視して再構築されたプラグインです。
無料で利用でき、主要なフィールド機能も最初から揃っているのが特徴です。
一方で、ACFは長年の利用実績を持つオリジナルのプラグインであり、豊富なドキュメントやサードパーティによるアドオンの充実度が強みです。
有料のACF Proを導入することで「オプションページ」や「ブロックエディターとの連携」など、企業や大規模案件に適した高度な機能を利用できる点も特徴です。
このように両者は同じように見えても、開発元や更新ポリシーに大きな違いがあります。
SCFはセキュリティやコスト面を重視するユーザーに適しており、ACFは機能拡張やサポートを必要とする場面でより選ばれやすい傾向があります。

「WordPressでカスタムフィールドを使いたいけど、どうすればいいの?」…そんな悩みを持つ方におすすめなのが、Advanced Custom Fields(ACF)という人気プラグインです。 ACFを使えば、投稿や固定ページに自由な入力欄を追加できるため、商品ページや店舗紹介、ポートフォリ...
Secure Custom Fieldsの基本的な使い方
インストール方法
- WordPress管理画面の「プラグイン」→「新規追加」で
Secure Custom Fields
を検索 - 「今すぐインストール」をクリックし、有効化
- 必要に応じて設定画面で暗号化方法やフィールドタイプを選択
メニュー項目
- フィールドグループ:フィールドの作成(複数可)
- 投稿タイプ:投稿や固定ページ以外の投稿タイプを作成できる(例:「ニュース」や「商品」など)
- タクソノミー:カスタムのカテゴリーやタグを追加できる
- 設定ページ:サイト全体に設定できるフィールドページ(ヘッダーやフッターに共有の表示項目、アクセス解析・広告用のコード設置など)
- ツール:エクスポート・インポート機能
- Beta Features:試験版の機能
フィールドグループの追加
管理画面のSecure Custom Fields >フィールドグループから、新規フィールドグループを作成します。
フィールドグループのタイトルを入力します。
全般
フィールドタイプ(テキスト、繰り返し、ギャラリーなど)を選択して、カスタムフィールドを作成していきます。
- フィールドタイプ:テキスト、画像、チェックボックス、Googleマップなどフィールドを選択
- フィールドラベル:編集ページに表示される名前を入力
- フィールド名:スペースは不可、アンダースコアとダッシュは使用可能
- 初期値:数値を入れると、新規投稿作成時に表示
- フィールドを追加:複数のフィールドを追加できる
※画像は、「返り値のフォーマット」という項目があり、「画像配列」「画像URL」「画像ID」の選択肢があります。うまく表示されない場合は、「画像ID」を選択して表示確認をしてみてください。
フィールドタイプの右側にある「フィールドを見る」ボタンをクリックすると、以下のように表示されます。
画面右側のどのようなフィールドになるのか視覚的に確認でき、こちらから選択することもできます。
検証
検証では、各フィールドタイプごとの制限や追加の入力設定ができます。一部のフィールドタイプでは、この項目が表示されず設定もできません。
ほとんどのフィールドタイプで「必須項目」にするか設定ができます。以下、主なフィールドタイプで設定できる制限設定の例です。
- テキスト、テキストエリア:文字数制限
- 画像:アップロードの最大・最小サイズの制限
- ファイル:アップロード容量の制限
- ラジオボタン:空の値を許可
プレゼンテーション
以下、ほとんどのフィールドタイプで共通の設定項目です。フィールドタイプによっては、別の設定項目が表示される場合があります。
- 手順:コンテンツ編集者向けの指示。データを送信する際に表示されます。
- Allow Access to Value in Editor UI(エディターUIで値へのアクセスを許可):オンにすると、ブロックバインディング(※)で値を表示できる
- ラッパー属性:横幅の指定(%)、クラス指定、ID指定
※ブロックと外部データ(カスタムフィールドなど)を紐付けて自動的に値を表示できる仕組み
条件判定
ある条件を満たしたときだけフィールドを表示する仕組みです。あらかじめ複数のフィールドタイプを保存しておかないと設定できません。
フィールドタイプを表示するため条件を設定します。
- 条件判定:有効・無効を選択
- このフィールドグループの表示条件:作成したフィールドを選択し、条件を設定
- と(AND条件):複数条件をすべて満たした場合のみ、表示させる条件を追加
- または「ルールグループを追加」(OR条件):いずれかの条件を満たせば表示されるグループを追加
設定が終わったら、右下の「+フィールドを追加」で、さらにフィールドを作成できます。
設定
スクロールするとページ下部に「設定」が表示されます。フィールドグループを各投稿タイプの編集画面にどのように表示するか設定できます。
- ロケーションルール:どの投稿タイプやページの編集画面に表示するかを設定(例:「投稿」のみ、「カテゴリーページ」のみで表示など)
- プレゼンテーション:編集画面での表示位置・スタイルを設定(例:編集画面の上や下、並列・ブロックなど)
- グループ設定:有効・無効と、REST APIで表示するか選択
繰り返しフィールドの設定(任意)
Secure Custom Fieldsでは、ACF Pro(有料版)で提供されている繰り返しフィールド(Repeater Field) を無料で利用できます。
これは 同じ種類のフィールドを複数セットとして繰り返し入力できる機能です。例えば、以下のようなことができます。
- FAQリスト:質問+回答の組み合わせを繰り返し入力
- スタッフ紹介:名前・役職・写真のセットを複数登録
- ギャラリー:複数の画像とキャプションをまとめて入力
- 料金表:プラン名・価格・説明を行ごとに追加
- 旅行のモデルコース:スポットの名称・写真・説明・移動時間を繰り返し入力
設定するには、同様にSCF > フィールドグループ >フィールド > 全般 > フィールドタイプから「繰り返しフィールド」を選択します。
スクロールすると、その下に「サブフィールド」が表示されます。「+フィールドを追加」をクリックします。
通常のフィールド入力と同じ画面が表示されますので、必要な項目を追加して設定は完了です。
繰り返しフィールドの場合は、編集画面での表示方法も設定できます。
指定した投稿タイプやページで、繰り返しフィールドの入力をします。
フィールドグループの表示方法
Secure Custom Fieldsで作成したカスタムフィールドは、テンプレートファイルにPHPコードを記述します。
その後、フィールドを表示したページから値を入力すると、反映できます。残念ながら、公式のショートコードはなく、必要であれば自作する必要があります。
子テーマの作成
WordPressテーマをそのまま使用している場合は、子テーマの作成がおすすめです。
子テーマを作成しておくと、親テーマのアップデート時にコードが消えないためそのまま運用できます。子テーマの作成方法については、以下の記事をご参照ください。

メディアを運用するには、アクセス数の増加や成約率の向上は、目標の一つ。それらの為に、サイトのデザインをカスタマイズするというところについては、皆さんが取り組まれていることかと思います。 カスタマイズ事例を調べたり、phpやcssの参考となるコードを調べる際、検索結果でよく「子テーマ」という単語...

2020/10/07 このプラグインはWordPressのガイドライン違反により、2019年7月5日に停止されており、ダウンロードできなくなっています。 WordPressではオープンソースであるためにさまざまなテーマが配布されています。おしゃれなデザインのテーマをインストールするだけ...
PHPファイルにコードを記述
Secure Custom Fieldsでは、以下の関数を使ってテンプレート内でフィールド値を取得・表示できます。
用途 | Secure Custom Fieldsで使う関数 |
---|---|
値の取得 | get_field('field_name') |
値の表示 | the_field('field_name') |
繰り返しフィールドのループ | have_rows() 、the_row() 、get_sub_field() 、the_sub_field() |
フィールド設定やすべての値を取得 | get_field_object() 、get_fields() 、get_field_objects() |
フィールド値の更新 | update_field() など多数あり |
PHPファイルや、サーバーのファイルマネージャ上や、FTPソフトからファイルをダウンロードして編集します。

無料で使える初心者におすすめのファイル転送FTPソフトをご紹介します。 WordPressでは管理画面から直接画像がアップできたり、テーマの編集なども行えるため、FTPを使用せずにサイト構築を行うことが可能です。なので、WordPressユーザーの中には「FTPって何?」という方もいらっしゃる...
表示させたい箇所をコードを入力します。
今回は、以下のようなコードを使用しました。必要に応じて2カラムやテーブル(表)のコードを記述してください。
▼PHPファイルに記述するコード例
<div class="product">
<div><?php echo wp_get_attachment_image( get_field('product_image'), 'medium' ); ?></div>
<div>商品名:<?php the_field('product_name'); ?></div>
<div>価格: <?php the_field('product_price'); ?> 円</div>
<div>商品説明:<?php the_field('product_description'); ?></div>
</div>
繰り返しフィールドのPHPコード(任意)
繰り返しフィールドは、have_rows()
で繰り返しフィールドをループし、the_row()
で1セットずつ処理します。
セット内の各フィールドは the_sub_field('フィールド名')
で呼び出します。
以下のようなコード例を参考に作成し、同様にサーバーのファイルマネージャー上や、FTPソフトからファイルをダウンロードして編集してください。
▼繰り返しフィールドのコード例(1ページ内に複数の商品を表示)
<?php if ( have_rows('products') ): ?>
<?php while ( have_rows('products') ): the_row(); ?>
<div class="product">
<div>
<?php
$img_id = get_sub_field('product_image');
if ($img_id) {
echo wp_get_attachment_image($img_id, 'medium');
}
?>
</div>
<div>商品名:<?php the_sub_field('product_name'); ?></div>
<div>価格: <?php the_sub_field('product_price'); ?> 円</div>
<div>商品説明:<?php the_sub_field('product_description'); ?></div>
</div>
<?php endwhile; ?>
<?php endif; ?>
デザインを調整するCSSを記述
デザインを調整するCSSコードは、WordPress管理画面 > 外観 > カスタマイズ > 追加CSSの欄に入力してください。
▼CSSの例
.product {
margin-top: 20px !important; /* 上の余白を設定(強制適用) */
margin-bottom: 20px !important; /* 下の余白を設定(強制適用) */
line-height: 1.8em !important; /* 行間を設定(強制適用) */
}
.product img {
display: block !important; /* インライン → ブロックに(強制適用)*/
margin: 0 auto 12px !important; /* 下に余白(強制適用) */
}
TCDテーマをご利用の方は、サイト全体やページごとの追加CSSが入力できるテーマもあります。

TCDテーマには、テーマファイルを編集することなく、任意のスタイルを追加できる「カスタムCSS機能」が実装されています。 当記事では、カスタムCSSの使い方について紹介していきます。 また、テーマファイルの直接編集を避けるべき理由を下記で解説しておりますので、こちらも合わせてご覧ください...
フィールドへの入力と表示確認
その後、SCFの設定画面から入力フィールドを表示させたページへアクセスします。
下へスクロールするとフィールドの欄が表示されますので、必要事項を入力します。
プレビューで表示確認をして問題なければ公開します。
カスタム投稿タイプの追加
通常の「投稿」や「固定ページ」の他に、「商品」や「ニュース」など他の投稿タイプを追加できます。
SCF > 投稿タイプから「+投稿タイプを追加する」をクリックします。
新規投稿タイプの各種設定を行います。
- 複数ラベル:一覧や管理画面で使う「複数形」の名前(例:商品 → 商品一覧)
- 単数ラベル:個別アイテムに使う「単数形」の名前(例:商品 → 商品)
- 投稿タイプキー:内部的に識別するスラッグ(例:product)。英小文字・アンダースコア推奨
- タクソノミー:カテゴリーやタグのような分類機能を追加するかどうか
- 一般公開:サイトのフロント側に公開するか(管理画面専用にするか)
- 階層的:親子関係を持たせるか(固定ページのように階層構造を作れる)
- 高度な設定:アーカイブの有無やREST API対応など、細かい挙動を調整する項目
設定後、「変更内容を保存」をクリックすると、左メニューに作成した投稿タイプが表示されます。
タクソノミーの追加
カスタムのカテゴリーまたはタグのグループを追加できます。例えば、通常はカテゴリーやタグを設定できない固定ページに追加することもできます。
SCF > タクソノミーから「+タクソノミーを追加」をクリックします。
タクソノミーに必要な項目を入力していきます。
- 複数ラベル:管理画面などで表示される「複数形」の名前(例:ジャンル → ジャンル一覧)
- 単数ラベル:個別の分類に使う「単数形」の名前(例:ジャンル → ジャンル)
- タクソノミーキー:内部的に分類を識別するスラッグ(例:genre)
- 投稿タイプ:この分類をどの投稿タイプに使うか(例:商品にジャンルを付与)
- 一般公開:フロントに公開するか(URLで分類一覧ページを持つかどうか)
- 階層的:親子関係を持たせるか(カテゴリー型か、タグ型か)
- 高度な設定:アーカイブやREST API対応など細かい挙動を調整する項目
設定すると、事前に作成した「商品」の投稿タイプの下に「商品ジャンル」というタクソノミーを設定できました。
設定ページの追加
通常のカスタムフィールドは「投稿」や「固定ページ」に紐づいて値を保存します。
一方、設定ページ(Options Page)は「サイト全体で共通の値」を管理する専用の管理画面です。例えば、以下のような設定を行えます。
- フッターに表示する電話番号や住所
- SNSリンク
- Google AnalyticsのトラッキングID
- 広告コード
投稿に依存せず「サイト設定」として入力できるため、複数箇所で同じ値を呼び出したい時に便利です。
この設定をするには、フィールドタイプを作成します(後から作成しても連携できます)。
その後、WordPress管理画面 > SCF > 設定ページを選択。必要事項を入力したら、「変更内容を保存」をクリックします。
今回は、外観のメニューにページを表示させましたが、ダッシュボード・設定・投稿・固定ページなど様々な場所に表示させられます。
作成したカスタムフィールドに入力し、更新します。
「Link existing field group」をクリックして、作成したフィールドグループを紐づけします。
同様に、サーバーのファイルマネージャー上や、FTPソフトから任意のPHPファイルをダウンロードして編集します。
PHPテンプレート内で、設定値を取得する際は get_field('field_name', 'option')
を使用します。今回は、フッターのPHPファイルに以下のコードを記述しました。
▼PHPコード(第二引数 ‘option
‘ が指定されている点がポイント)
<div class="site-contact"> <?php if ( $tel = get_field('phone_number', 'option') ) : ?> <p class="site-contact__item"><strong>電話:</strong><?php echo esc_html($tel); ?></p> <?php endif; ?> <?php if ( $addr = get_field('company_address', 'option') ) : ?> <p class="site-contact__item"><strong>住所:</strong><?php echo nl2br( esc_html($addr) ); ?></p> <?php endif; ?> <?php if ( $hours = get_field('business_hours', 'option') ) : ?> <p class="site-contact__item"><strong>営業時間:</strong><?php echo esc_html($hours); ?></p> <?php endif; ?> </div>
任意の箇所へ設定したフィールドページから入力します。今回は、「外観」のメニュー内にページを設定しました。
すでに公開しているトップページや記事を開くと、フッターに表示されました。デザインは適宜CSSで調整してください。
Secure Custom Fieldsのよくある質問(FAQ)
Q. ACFとSCFの主な違いは?
A. SCFは無料・セキュリティ/透明性重視で、商業的な要素が排除されています。ACFは長年の実績とドキュメント・アドオンが豊富で、Pro版に高度機能があります。
Q. Smart Custom Fields(同名略称SCF)との違いは?
A. 別プラグインです。この記事のSCFは「Secure Custom Fields」で、WordPress.org公式のものです。混同に注意してください。
Q. 出力はどうやって行いますか?
A. テンプレートで get_field() / the_field() を使います。画像は wp_get_attachment_image( 画像ID, ‘medium’ ) のようにID返しが推奨です。
Q. ショートコードはありますか?
A. 公式のショートコードはありません。必要ならテーマ側で自作ショートコードを追加します(推奨はテンプレートでの出力)。
Q. 繰り返しフィールドでは何ができますか?
A. FAQや料金表、スタッフ紹介、旅行のモデルコースなど、同じ構造のデータを可変件数で入力・出力できます。have_rows() → the_row() → get_sub_field() を使います。
まとめ
Secure Custom Fieldsは、WordPressのカスタムフィールド機能を拡張し、セキュリティ面や透明性に配慮された管理を可能にするプラグインです。
特に個人情報や機密情報を扱う場合には、コストをかけずにACF Pro相当の機能を活用できるため、有力な選択肢となります。
WordPressテーマ集
コメント