Вопрос или проблема
Как создать шорткод для отображения родительской налогономии в WooCommerce?
Мои категории продуктов должны выглядеть так:
– Еда
— Фрукты
— Полезные Фрукты
— Органические Фрукты
— Мясо
— Свинина
— Баранина
— Говядина
Например, я хотел бы отобразить название налогономии “Фрукты” где-то, когда пользователь находится на странице архива продукта “Полезные Фрукты”.
Шорткод для отображения продуктов в категории “Фрукты”, когда пользователь находится на другой странице или архиве… это:
[products category="fruits"]
Насколько я знаю, нет шорткода для отображения продуктов родительской категории без указания заданного slug категории.
Для вашего второго примера вам нужно будет вызвать его в вашей подкатегории “Свинина”
[products category="meat"]
и так далее для каждой категории.
Вы можете найти шорткоды WooCommerce здесь:
https://docs.woocommerce.com/document/woocommerce-shortcodes/
Вот функция шорткода, которая будет отображать родительскую категорию
// Регистрируем шорткод
function display_parent_taxonomy_shortcode() {
add_shortcode('parent_taxonomy', 'get_parent_taxonomy');
}
add_action('init', 'display_parent_taxonomy_shortcode');
// Функция обратного вызова для шорткода
function get_parent_taxonomy() {
// Проверяем, находимся ли мы на странице архива категории продукта
if (is_product_category()) {
global $wp_query;
// Получаем текущий объект категории
$category = $wp_query->get_queried_object();
// Получаем ID родительской категории
$parent_id = $category->parent;
// Если ID родителя больше 0, получаем родительскую категорию
if ($parent_id > 0) {
$parent_category = get_term($parent_id, 'product_cat');
$parent_name = $parent_category->name;
// Возвращаем название родительской категории
return $parent_name;
}
}
// Если не на странице архива категории продукта или родительская категория не найдена, возвращаем пустую строку
return '';
}
Теперь вставьте шорткод [parent_taxonomy] в нужное вам место
Ссылка:
https://techvila.com/shortcode-to-show-the-parent-taxonomy-in-woocommerce/
Ответ или решение
Создание шорткода для отображения родительской таксономии в WooCommerce
В WooCommerce, одним из часто запрашиваемых элементов является отображение родительской категории товаров на страницах подкатегорий. Например, если пользователь находится на странице архива товаров подкатегории "Здоровые фрукты", вы могли бы захотеть отобразить родительскую категорию "Фрукты".
К сожалению, WooCommerce не предоставляет встроенный шорткод для этой задачи, однако мы можем создать свой собственный шорткод, используя функции WordPress. В этом руководстве мы разберемся, как это сделать.
Шаг 1: Регистрация шорткода
Для начала, мы создадим функцию, которая зарегистрирует наш шорткод. Этот шорткод будет отвечать за извлечение и отображение названия родительской категории:
// Регистрация шорткода
function display_parent_taxonomy_shortcode() {
add_shortcode('parent_taxonomy', 'get_parent_taxonomy');
}
add_action('init', 'display_parent_taxonomy_shortcode');
Шаг 2: Определение родительской категории
Далее, мы напишем функцию, которая будет вызываться, когда используется шорткод. Эта функция проверит, находимся ли мы на странице архивов категорий, и, если да, она извлечет название родительской категории:
// Функция обратного вызова для шорткода
function get_parent_taxonomy() {
// Проверка, находимся ли мы на странице архива категорий товаров
if (is_product_category()) {
global $wp_query;
// Получаем объект текущей категории
$category = $wp_query->get_queried_object();
// Получаем ID родительской категории
$parent_id = $category->parent;
// Если ID родителя больше 0, получаем родительскую категорию
if ($parent_id > 0) {
$parent_category = get_term($parent_id, 'product_cat');
$parent_name = $parent_category->name;
// Возвращаем имя родительской категории
return $parent_name;
}
}
// Возвращаем пустую строку, если не нахожемся на странице архива категорий
return '';
}
Шаг 3: Использование шорткода
Теперь, чтобы отобразить родительскую категорию, достаточно вставить шорткод [parent_taxonomy]
в нужное место вашего контента, например, в заголовок или описание страницы.
Заключение
Создание собственного шорткода в WooCommerce для отображения родительской таксономии — это простой и эффективный способ улучшить пользовательский интерфейс вашего интернет-магазина. Благодаря этому шорткоду ваши покупатели смогут более легко ориентироваться в категории товаров, что может положительно сказаться на их опыте и увеличить количество покупок.
Для более подробной информации о шорткодах WooCommerce вы можете обратиться к официальной документации WooCommerce Shortcodes.
Если у вас есть дополнительные вопросы по реализации этого решения или другим аспектам работы с WooCommerce, пожалуйста, не стесняйтесь задавать вопросы.