HUSKY - Products Filter Professional for WooCommerce

Описание категории не показывается на отфильтрованной странице магазина

По умолчанию WooCommerce показывает описания категорий на страницах архива (категории). Однако, когда активен фильтр товаров HUSKY, URL страницы магазина меняется с настоящего архива категории на отфильтрованную страницу магазина — например, /shop/?swoof=1&product_cat=my-category. На такой странице WordPress не загружает объект таксономии, поэтому любой код, зависящий от is_product_taxonomy(), не найдёт категорию, и описание не будет показано.

Это ожидаемое поведение WordPress, а не баг в HUSKY.

Чтобы показать описание категории на отфильтрованной странице магазина, добавьте следующий код в файл functions.php вашей темы или с помощью плагина для код-сниппетов:

add_action('woocommerce_before_shop_loop', function() {

    // Exit if this is a normal category page without WOOF filter
    if (is_product_taxonomy() AND empty($_GET['swoof'])) return;

    $term = null;

    // Try to get term from taxonomy archive
    if (is_product_taxonomy()) {
        $term = get_queried_object();
    }

    // If not found, try HUSKY's really_curr_tax parameter
    if ((!$term || is_wp_error($term)) AND !empty($_GET['really_curr_tax'])) {
        $raw     = sanitize_text_field($_GET['really_curr_tax']);
        $term_id = (int) explode('-', $raw)[0];
        if ($term_id > 0) {
            $term = get_term($term_id, 'product_cat');
        }
    }

    // Exit if term not found or has no description
    if (!$term || is_wp_error($term) || empty($term->description)) return;

    echo '
'; echo do_shortcode(wp_kses_post(wpautop($term->description))); echo '
'; }, 5);

Этот код считывает текущую категорию из параметра really_curr_tax, который HUSKY передаёт в URL, и вручную выводит описание перед циклом товаров.

Примечание: оформление блока .term-description зависит от вашей темы.

Ссылка: https://pluginus.net/support/topic/husky-products-filter-professional-for-woocommerce-solution