Как получить категорию ACF в записи WordPress: несколько методов, объясненных примерами кода

Advanced Custom Fields (ACF) – популярный плагин WordPress, который позволяет добавлять настраиваемые поля в сообщения, страницы и другие типы контента. Одним из общих требований является получение категории ACF, связанной с публикацией. В этой статье мы рассмотрим несколько методов решения этой задачи, а также приведем примеры кода.

Метод 1: использование функции get_field()

$categories = get_field('category', $post->ID);

Этот метод предполагает, что вы создали поле ACF с именем «категория» для своих сообщений. Он извлекает значение поля «Категория» для текущего сообщения.

Метод 2: использование функции get_field_object()

$field = get_field_object('category', $post->ID);
$categories = $field['value'];

Этот метод извлекает объект поля ACF для поля «категория», а затем извлекает из него значение.

Метод 3: использование функции get_the_terms()

$categories = get_the_terms($post->ID, 'category');

Этот метод использует встроенную функцию WordPress get_the_terms() для получения категорий, связанных с публикацией. Обратите внимание, что этот метод работает с категориями WordPress по умолчанию, а не с категориями ACF.

Метод 4. Использование класса WP_Query

$args = array(
    'post_type' => 'post',
    'meta_query' => array(
        array(
            'key' => 'category',
            'value' => $post->ID,
            'compare' => 'LIKE'
        )
    )
);
$query = new WP_Query($args);
$categories = $query->posts[0]->category;

Этот метод использует класс WP_Query для создания специального запроса и получения сообщений, соответствующих значению поля ACF категории. Предполагается, что поле категории установлено как метаполе сообщения.

Мы изучили несколько методов получения категории ACF в записи WordPress. В зависимости от вашего конкретного варианта использования и реализации вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Не забудьте настроить примеры кода в соответствии с конфигурацией вашего поля ACF и категории. Используя эти методы, вы можете легко получать и использовать данные категорий ACF в своих сообщениях WordPress.