こんな方に読んでほしい
[記事の内容]

Advanced Custom Fields(ACF)を使うと、WordPressの標準機能にはない柔軟な入力項目を簡単に追加できます。
これにより、専門的な知識がなくても、Webサイトのコンテンツを効率的に管理・更新できるようになります。
このプラグインを紹介する理由は3つあります。
以上の理由が上げられます。
公式サイトは以下になります。

プラグインのインストール方法は上記の「プラグイン導入方法」からご確認ください。
次に使用についての解説です。

通常版のACF(Advanced Custom Fields)とPRO版の主な違いは、機能の豊富さとライセンスにあります。
PRO版は、通常版のACFには含まれない機能が存在します。
※個人的によく使用するのは、リピーターフィールド(Repeater Field)です。
これ1つでサイトの更新箇所の自由度がかなり上がります。
Webサイトの規模や要件に応じて、適切なバージョンを選択することが重要です。
・通常版のACFには、シンプルなカスタムフィールド(テキスト、画像など)をいくつか追加したいだけであれば、無料の通常版で十分です。
・PRO版のACFには、繰り返し要素、複雑なレイアウトのページ、ギャラリー機能など、より高度な機能が必要な場合は、ACF PROの購入を検討するのが良いでしょう。

ACFは基本は管理画面でカスタムフィールドを生成し、phpファイルにコードを埋め込み、
管理画面に戻り、文字を入力することでWebサイト上に反映します。



注意!
Advanced Custom Fieldsの設定はこまめに「保存」しておきましょう。
上記の位置につい詳しく解説します。


ACFで作成したカスタムフィールドに設定したラベルが、投稿や固定ページの編集画面で表示されます。

この通りに固定ページへ反映されていれば、カスタムフィールドの作成は完了です。


上記の解説で、カスタムフィールドの作成は完了しましたが、現状のままではWebサイトに範囲はしません。
以下のようにphpファイルにコード記述します。
変更前
<h2></h2>
↓変更後
<h2><?php the_field('company_name'); ?></h2>
↓または
<?php if( get_field('company_name') ): ?>
<h2><?php the_field('company_name'); ?></h2>
<?php endif; ?>
になります。
2パターンをご紹介しましたが、簡単に解説いたします。
<h2><?php the_field('company_name'); ?></h2>
the_field()が記述されている場所に何も出力されない代わりに、意図しないHTML(例: divタグなど)が残ってしまう可能性があります。<?php if( get_field('company_name') ): ?>
<h2><?php the_field('company_name'); ?></h2>
<?php endif; ?>
p〜/p)が出力されるのを防ぎます。the_field() は、フィールドに必ず値が入ると分かっている場合や、単純なテキストを表示したい場合に便利です。
if(get_field())で囲む方法は、フィールドに値が入るか分からない場合や、空の場合にHTMLタグも非表示にしたい場合に安全な記述方法です。
一般的には、if(get_field())で囲む方法が推奨されます。
ここからは、フィールドタイプについての解説になります。
主によく使うものに対して出力コードを解説していきます。
<!--テキスト-->
<?php if( get_field('company_name') ): ?>
<h2><?php the_field('company_name'); ?></h2>
<?php endif; ?>
テキストエリアで入力されたbrダグ(改行)はWebサイト上で反映されず、1行で表示されます。
改行をする場合はコードを書き換える必要があります。
基本的には、「テキスト」同じコードになります。
<!--テキストエリア-->
<?php if( get_field('フィールド名') ): ?>
<?php the_field('フィールド名'); ?>
<?php endif; ?>
<!--テキストエリア改行-->
<?php
$text_area_content = get_field('フィールド名');
if ($text_area_content): ?>
<?php echo nl2br($text_area_content); ?>
<?php endif; ?>
このコードは、フィールドに値があるかを確認し、nl2br()関数で改行を反映させてから出力します。
これにより、入力された通りのレイアウトがWebサイト上でも再現されます。

※「プレゼンテーション」のタブで行の指定や、改行の指定も可能になります。

ACFの「画像」フィールドの戻り値の形式は、用途によって使い分けるのが良いでしょう。
一般的には、最も柔軟な「画像配列」「画像URL」がおすすめです。
altテキストを簡単に取得してimgタグに含めることができます。esc_url()やesc_attr()といった関数を使って、安全に出力できます。<!--画像配列-->
<?php
$image = get_field('フィールド名');
if( !empty($image) ): ?>
<img src="<?php echo esc_url($image['url']); ?>" alt="<?php echo esc_attr($image['alt']); ?>" width="<?php echo esc_attr($image['width']); ?>" height="<?php echo esc_attr($image['height']); ?>" />
<?php endif; ?>
imgタグのsrc属性に直接埋め込めます。altテキストや幅・高さは手動で記述する必要があります。<!--画像URL-->
<?php
$image_url = get_field('フィールド名');
if ( !empty($image_url) ): ?>
<img src="<?php echo esc_url($image_url); ?>" alt="画像の説明" width="" height="" />
<?php endif; ?>
必須項目の設定は、タブの「検証」から必須項目をオンにしてください。
必須項目をオンにすることで、未入力の場合のエラーを回避できます。

今回はこれで以上です。
「Advanced Custom Fields」の始め方と使い方についての解説になりました。
主に使用が多い、「テキスト」「テキストエリア」「画像」の3つ解説しました。
今後も、詳しく解説していきます。
2025.10.17
2025.10.17
2025.10.15
2025.08.16
2025.08.13
2025.08.12
2023.06.15
2022.06.30
2020.03.22
2020.03.06

© 2025 shu-naka-blog