WordPress案件でよく使うACFとPHPの基礎
WordPress案件でよく使うACFとPHPの基礎
はじめに
WordPressの柔軟なサイト構築には Advanced Custom Fields(ACF) が欠かせません。
投稿や固定ページに独自の入力欄を追加し、PHPで呼び出して表示することで、管理者が更新しやすいサイトを作ることができます。
この記事では、ACFを利用する際に覚えておきたいPHPの基本的な書き方をまとめます。
本文
1. 値の取得と出力
ACFで作成したフィールドは the_field()
と get_field()
を使って呼び出せます。
<?php the_field('occupation'); ?>
the_field()
: 値を直接出力get_field()
: 変数に値を格納してから加工して使う
<?php
$salary = get_field('salary');
if ( $salary ) {
echo esc_html( $salary ) . '円';
}
?>
2. 画像フィールドの活用
画像フィールドはURLではなく配列で返すことが多いです。
<?php
$image = get_field('profile_image');
if ( $image ) : ?>
<img src="<?php echo esc_url( $image['url'] ); ?>" alt="<?php echo esc_attr( $image['alt'] ); ?>">
<?php endif; ?>
3. Repeaterフィールドのループ処理
繰り返し情報を管理できるRepeaterフィールドは、have_rows()
と組み合わせて使います。
<?php if ( have_rows('career_list') ) : ?>
<ul>
<?php while ( have_rows('career_list') ) : the_row(); ?>
<li><?php the_sub_field('year'); ?> - <?php the_sub_field('description'); ?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
4. 条件分岐を使った出し分け
フィールドに値がある場合だけ表示する書き方もよく使います。
<?php if ( get_field('catch_copy') ) : ?>
<h2><?php the_field('catch_copy'); ?></h2>
<?php endif; ?>
おわりに
ACFを活用することで、管理画面に柔軟な入力欄を追加し、PHPで呼び出すだけで多様な表現が可能になります。
特にテキスト、画像、Repeater、条件分岐の使い方はWordPress案件で頻出です。これらを押さえておくと、更新性の高いサイト構築に大きく役立ちます。