ACFカテゴリを取得する方法


方法1: get_field()関数を使用する方法

$categories = get_field('acf_category', $post_id);

この方法では、get_field()関数を使ってACFフィールドの値を取得します。acf_categoryはACFフィールドの名前であり、$post_idは投稿のIDです。このコードを使用すると、ACFカテゴリの値が$categories変数に格納されます。

方法2: get_post_meta()関数を使用する方法

$categories = get_post_meta($post_id, 'acf_category', true);

この方法では、get_post_meta()関数を使ってACFフィールドの値を取得します。acf_categoryはACFフィールドの名前であり、$post_idは投稿のIDです。trueを指定することで、フィールドの値を単一の値として取得します。このコードを使用すると、ACFカテゴリの値が$categories変数に格納されます。

方法3: WP_Queryを使用してACFカテゴリを取得する方法

$args = array(
    'post_type' => 'post',
    'meta_key' => 'acf_category',
    'meta_value' => '',
    'meta_compare' => '!=',
    'meta_query' => array(
        array(
            'key' => 'acf_category',
            'value' => '',
            'compare' => '!=',
        ),
    ),
);
$query = new WP_Query($args);
if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        $categories = get_field('acf_category');
        // カテゴリの処理
    }
    wp_reset_postdata();
}

この方法では、WP_Queryを使用してACFカテゴリを持つ投稿を取得します。meta_keymeta_valuemeta_comparemeta_queryを使用して、ACFフィールドの値が存在する投稿を検索します。取得した投稿のループ内でget_field()関数を使用してACFカテゴリの値を取得し、必要な処理を行います。

これらの方法を使用することで、ACFカテゴリを取得し、適切な処理を行うことができます。