Вопрос или проблема
Мне нужно проверить переменную, и если слог не совпадает с категории слога пользовательской таксономии, запустить функцию. Я не могу понять, что мне нужно сделать, чтобы получить “категории” пользовательской таксономии в массиве и сравнить их со значением.
Буду очень признателен за любую помощь.
Вы должны использовать 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
на фактические значения, которые вы используете в своем проекте. Следуя этой логике, вы сможете достичь необходимой функциональности с минимальными усилиями.