Изучение способов получения категории по слагу в WordPress с использованием PHP

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

$category = get_category_by_slug('category-slug');

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

Метод 2: прямой запрос к базе данных

$category = get_term_by('slug', 'category-slug', 'category');

В этом подходе мы используем функцию get_term_by(), которая позволяет нам получить термин (в данном случае категорию) на основе указанного поля. Мы передаем 'slug'в качестве параметра поля и 'category-slug'в качестве значения пула. Третий параметр определяет таксономию, для которой для категорий должно быть установлено значение 'category'.

Метод 3: использование класса WP_Term_Query

$args = [
    'slug' => 'category-slug',
    'taxonomy' => 'category',
];
$categories = new WP_Term_Query($args);
$category = $categories->get_terms()[0];

Этот метод предполагает использование класса WP_Term_Queryдля получения категории. Мы определяем желаемый слаг и таксономию в массиве $args, а затем создаем новый экземпляр WP_Term_Query. Наконец, мы вызываем метод get_terms(), чтобы получить массив совпадающих терминов и извлечь из результатов первую категорию.

Метод 4. Пользовательский запрос к базе данных

global $wpdb;
$category = $wpdb->get_row("SELECT * FROM $wpdb->terms WHERE slug = 'category-slug'");

Для опытных пользователей, знакомых с пользовательскими запросами к базе данных, этот метод предлагает альтернативный подход. Мы обращаемся к глобальному объекту $wpdbи выполняем специальный SQL-запрос, чтобы получить строку категории непосредственно из таблицы терминов.

На этом мы завершаем наше исследование различных методов получения категории по URL-адресу в WordPress с использованием PHP. Не стесняйтесь выбирать метод, который лучше всего соответствует вашим потребностям, и удачного программирования!