acf_doing()


WordPressのacf_doing()関数は、Advanced Custom Fields (ACF) プラグインを使用している際に、特定のフィールドが現在処理中かどうかを確認するために使用されます。

構文

acf_doing( string $field_name );
  • $field_name(string) — 確認したいフィールドの名前を指定します。

例1: フィールドが処理中かどうかを確認する

この例では、フィールド名が「my_custom_field」のフィールドが処理中かどうかを確認します。

<?php if ( acf_doing('my_custom_field') ) { echo 'フィールドは処理中です。'; } else { echo 'フィールドは処理中ではありません。'; } ?>

例2: 複数のフィールドを確認する

複数のフィールドが処理中かどうかを確認する例です。

<?php if ( acf_doing('field_1') || acf_doing('field_2') ) { echo 'フィールド1またはフィールド2が処理中です。'; } ?>

例3: 条件分岐で使用する

フィールドが処理中の場合にのみ特定の処理を行う例です。

<?php if ( acf_doing('my_field') ) { // 処理中の時のコード } else { // 処理中でない時のコード } ?>

例4: ループ内での使用

ループ内でフィールドが処理中かどうかを確認する例です。

<?php while ( have_posts() ) : the_post(); if ( acf_doing('loop_field') ) { echo 'ループ内のフィールドが処理中です。'; } endwhile; ?>

例5: カスタムフィールドの値を取得する前に確認する

フィールドが処理中かどうかを確認してから、値を取得する例です。

<?php if ( !acf_doing('my_field') ) { $value = get_field('my_field'); echo $value; } ?>

例6: フィールドが処理中でない場合にのみ表示する

フィールドが処理中でない場合にのみコンテンツを表示する例です。

<?php if ( !acf_doing('my_field') ) { echo 'このコンテンツはフィールドが処理中でない場合に表示されます。'; } ?>

例7: フィールドが処理中の場合にクラスを追加する

フィールドが処理中の場合にHTML要素にクラスを追加する例です。

<div class="<?php echo acf_doing('my_field') ? 'processing' : 'not-processing'; ?>">コンテンツ</div>

例8: フィールドが処理中の場合にスクリプトを実行する

フィールドが処理中の場合にJavaScriptを実行する例です。

<?php if ( acf_doing('my_field') ) { echo '<script>console.log("フィールドが処理中です。");</script>'; } ?>

注意点

  • acf_doing()関数は、ACFプラグインが有効になっている場合にのみ使用できます。
  • フィールド名が正しく指定されていない場合、関数は正しく動作しません。
  • この関数は、主に開発者がフィールドの状態を確認するために使用されます。