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.