方法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_key
、meta_value
、meta_compare
、meta_query
を使用して、ACFフィールドの値が存在する投稿を検索します。取得した投稿のループ内でget_field()
関数を使用してACFカテゴリの値を取得し、必要な処理を行います。
これらの方法を使用することで、ACFカテゴリを取得し、適切な処理を行うことができます。