acf_have_local_fields()


WordPressの関数acf_have_local_fields()は、ACF(Advanced Custom Fields)プラグインを使用して、現在の投稿またはページにローカルフィールドが存在するかどうかを確認するために使用されます。

構文

acf_have_local_fields();

使用例 1: ローカルフィールドの存在確認

現在の投稿にローカルフィールドが存在するかを確認します。

<?php if( acf_have_local_fields() ): ?>
  フィールドが存在します。
<?php else: ?>
  フィールドは存在しません。
<?php endif; ?>

使用例 2: ローカルフィールドのループでの確認

ACFのループ内でローカルフィールドがあるかを確認します。

<?php if( acf_have_local_fields() ): ?>
  <ul>
    <?php while( have_rows('local_fields') ): the_row(); ?>
      <li><?php the_sub_field('field_name'); ?></li>
    <?php endwhile; ?>
  </ul>
<?php endif; ?>

使用例 3: 特定のフィールドがあるかを確認

特定のローカルフィールドがある場合に実行される処理を追加します。

<?php if( acf_have_local_fields() && get_field('specific_field') ): ?>
  <p>特定のフィールドが設定されています。</p>
<?php endif; ?>

使用例 4: 投稿タイプごとにローカルフィールドの存在を確認

特定の投稿タイプにローカルフィールドが存在するかを確認します。

<?php if( is_singular('post') && acf_have_local_fields() ): ?>
  投稿にはローカルフィールドがあります。
<?php endif; ?>

使用例 5: ローカルフィールドがない場合の代替処理

ローカルフィールドが存在しない場合に代替テキストを表示します。

<?php if( ! acf_have_local_fields() ): ?>
  <p>ローカルフィールドは設定されていません。</p>
<?php endif; ?>

使用例 6: 管理画面での確認

管理画面でもローカルフィールドの存在を確認することができます。

<?php if( is_admin() && acf_have_local_fields() ): ?>
  <p>管理画面でローカルフィールドがあります。</p>
<?php endif; ?>

注意事項

  • ACFが適用されていない投稿タイプやページでは、この関数は「false」を返すことがあります。
  • この関数は、ACFのフィールドがローカルで設定されている場合のみ有効です。グローバルフィールドでは動作しません。