Проверьте, является ли значение именем категории пользовательской таксономии.

Вопрос или проблема

Мне нужно проверить переменную, и если слог не совпадает с категории слога пользовательской таксономии, запустить функцию. Я не могу понять, что мне нужно сделать, чтобы получить “категории” пользовательской таксономии в массиве и сравнить их со значением.

Буду очень признателен за любую помощь.

Вы должны использовать get_terms, чтобы получить все “категории” пользовательской таксономии.

http://codex.wordpress.org/Function_Reference/get_terms

.

Ответ или решение

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

Шаг 1: Получение категорий пользовательской таксономии

Сначала вам нужно получить термины для вашей пользовательской таксономии. Как правило, это делается с помощью функции get_terms(). Например, если у вас есть пользовательская таксономия с именем your_custom_taxonomy, вы можете получить её категории следующим образом:

$taxonomy = 'your_custom_taxonomy'; // Замените на вашу таксономию
$terms = get_terms(array(
    'taxonomy' => $taxonomy,
    'hide_empty' => false, // Укажите true, если хотите получить только непустые категории
));

Шаг 2: Сбор слагов категорий в массив

После получения объектов терминов необходимо извлечь их слаги. Мы можем сделать это с помощью функции wp_list_pluck(), которая поможет получить массив с слагами:

$slugs = wp_list_pluck($terms, 'slug');

Шаг 3: Проверка значения

Затем, чтобы проверить, содержится ли ваше значение в массиве слагов, используйте функцию in_array(). Например, если у вас есть переменная $value, которую вы хотите проверить, код будет выглядеть так:

$value = 'your_value'; // Замените на ваше значение для проверки

if (!in_array($value, $slugs)) {
    // Запустите нужную функцию, если значение не совпало со слагом
    your_function_to_run();
}

Полный пример кода

Объединим весь код в один блок, чтобы вы могли его легко интегрировать:

function check_custom_taxonomy_slug($value) {
    $taxonomy = 'your_custom_taxonomy'; // Укажите вашу таксономию
    $terms = get_terms(array(
        'taxonomy' => $taxonomy,
        'hide_empty' => false,
    ));

    if (!is_wp_error($terms) && !empty($terms)) {
        $slugs = wp_list_pluck($terms, 'slug');

        if (!in_array($value, $slugs)) {
            your_function_to_run(); // Ваша функция для выполнения
        }
    }
}

// Пример вызова функции
check_custom_taxonomy_slug('your_value');

Заключение

Используя приведенный выше подход, вы можете эффективно проверить, является ли конкретное значение слагом категории вашей пользовательской таксономии в WordPress. Обязательно замените your_custom_taxonomy и your_value на фактические значения, которые вы используете в своем проекте. Следуя этой логике, вы сможете достичь необходимой функциональности с минимальными усилиями.

Оцените материал
Добавить комментарий

Капча загружается...