HUSKY - Products Filter Professional for WooCommerce

Опис категорії не відображається на сторінці відфільтрованих товарів

За замовчуванням WooCommerce відображає описи категорій на архівних (category) сторінок. Однак, коли активний фільтр продуктів 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 '<div class="term-description">';
    echo do_shortcode(wp_kses_post(wpautop($term->description)));
    echo '</div>';

}, 5);

Цей фрагмент зчитує поточну категорію з параметра really_curr_tax, який HUSKY передає в URL, і вручну виводить опис перед циклом продуктів.

Примітка: стилізація блоку .term-description залежить від вашої теми.

Посилання: https://pluginus.net/support/topic/husky-products-filter-professional-for-woocommerce-solution