Как вывести описание категории Woocommerce

Не для кого не секрет, что в Woocommerce можно сделать описание категории, а следовательно его надо как-то вывести. Для того, что бы это вывести, мы сделаем небольшой хук в котором выведем описание категории и миниатюру.
Для этого нам понадобятся 2 файла.
1. archive-product — архив товаров, он же отвечает за каталог. Данный файл должен лежать по пути «you-template/woocommerce»
2. functions.php — что лежит в папке с вашим шаблоном
Первый способ будет очень простой. В файл archive-product.php добавьте следующий хук:
<?php do_action( 'woocommerce_archive_description' ); ?>
Он выведет стандартный блок с описанием категории.
Во втором способе, мы изменим вывод и добавим изображение, а так же шаблон вывода описания
Для начала заполните описание категории товара, затем в файл functions.php добавьте следующий код:
add_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description' ); function woocommerce_taxonomy_archive_description() { if ( is_product_category() ) { echo '<div class="category_desc">'; global $wp_query; /* * Выводим изображение категории */ $cat_id = $wp_query->get_queried_object_id(); $category_thumbnail = get_woocommerce_term_meta($cat_id, 'thumbnail_id', true); $image = wp_get_attachment_url($category_thumbnail); echo '<img alt="" src="'.$image.'" />'; /* * Выводим описание категории */ if ( is_product_taxonomy() && 0 === absint( get_query_var( 'paged' ) ) ) { $term = get_queried_object(); if ( $term && ! empty( $term->description ) ) { echo '<div class="term-description">' . wc_format_content( $term->description ) . '</div>'; } } echo '</div>'; } }
За счет данного хука, мы изменяем вывод и добавляем в начало изображение, а потом вывод описания.
Так же мы можем добавить заголовок перед описанием. Для этого изменим код:
if ( $term && ! empty( $term->description ) ) { echo '<div class="term-description">' . wc_format_content( $term->description ) . '</div>'; }
Заменяем на:
if ( $term && ! empty( $term->description ) ) { echo '<div class="term-description">'; echo '<h1>' . $term->name . '</h1>'; echo wc_format_content( $term->description ); echo '</div>'; }
Вот и все! Все это делается легко и просто.