Opis kategorii nie jest wyświetlany na przefiltrowanej stronie sklepu
Domyślnie WooCommerce wyświetla opisy kategorii w archiwum (kategoria) stron. Jednak gdy aktywny jest filtr produktów HUSKY, adres URL strony sklepu zmienia się z prawdziwego archiwum kategorii na stronę sklepu po filtrowaniu — na przykład, /shop/?swoof=1&product_cat=my-category. Na tego typu stronie WordPress nie ładuje obiektu taksonomii, więc wszelki kod, który od niego zależy is_product_taxonomy() nie znajdzie kategorii, a opis nie zostanie wyświetlony.
To jest oczekiwane działanie WordPress i nie jest błędem w HUSKY.
Aby wyświetlić opis kategorii na przefiltrowanej stronie sklepu, dodaj poniższy fragment do pliku functions.php swojego motywu lub za pomocą wtyczki snippetów kodu:
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);
Ten fragment odczytuje bieżącą kategorię z parametru really_curr_tax, który HUSKY przekazuje w adresie URL i ręcznie wyświetla opis przed pętlą produktów.
Uwaga: stylizacja bloku .term-description zależy od Twojego motywu.
Ref: https://pluginus.net/support/topic/husky-products-filter-professional-for-woocommerce-solution