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案件で頻出です。これらを押さえておくと、更新性の高いサイト構築に大きく役立ちます。