Ответы в темах

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • В итоге человек с stackoverflow подсказал мне решение данной проблемы. Вложенные шорткоды, само собой, в вордпрессе не будут работать, но ведь можно сделать do_shortcode() внутри функции основного шорткода 🙂

    Таким образом, для решения данной проблемы следует в functions.php прописать такие вот новые комплексные шорткоды:

    function woof_current_product_category_id() {
        $term    = get_queried_object();
        $term_id = 0; // Initializing
    
        if ( isset($_GET['really_curr_tax']) && false !== strpos( $_GET['really_curr_tax'], 'product_cat' ) ) {
            $term_id = (int) str_replace('-product_cat', '', $_GET['really_curr_tax']);
        } elseif ( is_a($term, 'WP_Term') ) {
            $term_id = (int) $term->term_id;
        }
        return do_shortcode("[woof taxonomies=product_cat:$term_id]"); 
    }
    
    function woof_products_current_product_category_id() {
        $term    = get_queried_object();
        $term_id = 0; // Initializing
    
        if ( isset($_GET['really_curr_tax']) && false !== strpos( $_GET['really_curr_tax'], 'product_cat' ) ) {
            $term_id = (int) str_replace('-product_cat', '', $_GET['really_curr_tax']);
        } elseif ( is_a($term, 'WP_Term') ) {
            $term_id = (int) $term->term_id;
        }
        return do_shortcode("[woof_products per_page=12 columns=3 taxonomies=product_cat:$term_id]"); 
    }
    
    add_shortcode( 'woof_auto_category', 'woof_current_product_category_id' );
    add_shortcode( 'woof_products_auto_category', 'woof_products_current_product_category_id' );

    И вместо [woof taxonomies=…] и [woof_products taxonomies=…] использовать [woof_auto_category] и [woof_products_auto_category]

    Ну я человек неторопливый. Спасибо, сейчас с темой все нормально!

    Нашел решение — необходимо активировать в настройках плагина «show count», «dynamic recount» и «hide empty terms». Также шорткод в более старых версиях плагина должен быть вида [woof is_ajax=1 taxonomies=product_cat:39] , где39 — это id категории товаров, а в более новых версиях достаточно просто написать [woof]. Также, чтобы фильтр применялся сразу на той же странице, где он и расположен (без редиректа), необходимо еще активировать «Try Ajax» там же, в настройках плагина. Надеюсь, эта информация когда-нибудь поможет кому-нибудь

Просмотр 3 ответов — с 1 по 3 (всего 3)