Поддержка WooCommerce Cross Sell не отображается.

  • Здравствуйте. Возникла проблема. Кросс селы прописаны в админке, но не отображаются в корзине товара. Приложил ссылку на пример товара, у него прописаны кросс селы, но если добавить его в корзину, то в корзине ничего не будет. Просмотрел инфу в интернете, где находится хук для отображения в корзине и где что прописывается. Сверил со своими файлами, там везде все на месте. Не могу понять, где удален какой то код, что не отображает кросс селы в корзине((

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • у вас точно есть такой хук:
    ad_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display', 10);

    Если да, то стоит обратиться к автору того наколенного поделия, которое вы используете вместо нормальной темы

    Если да, то стоит обратиться к автору того наколенного поделия, которое вы используете вместо нормальной темы

    Добрый день. Да есть, в файле — wc_template_hooks.php В папке плагинов, вукоммерс. У меня подозрения, что это произошло после обновления вукоммерс или вордпресс. Так как раньше все работало и были кросселы.

    А также есть в файле — wc_template_functions.php такие строки —

    if ( ! function_exists( ‘woocommerce_cross_sell_display’ ) ) {

    /**
    * Output the cart cross-sells.
    *
    * @param int $limit (default: 2)
    * @param int $columns (default: 2)
    * @param string $orderby (default: ‘rand’)
    * @param string $order (default: ‘desc’)
    */
    function woocommerce_cross_sell_display( $limit = 2, $columns = 2, $orderby = ‘rand’, $order = ‘desc’ ) {
    if ( is_checkout() ) {
    return;
    }
    // Get visble cross sells then sort them at random.
    $cross_sells = array_filter( array_map( ‘wc_get_product’, WC()->cart->get_cross_sells() ), ‘wc_products_array_filter_visible’ );

    // Handle orderby and limit results.
    $orderby = apply_filters( ‘woocommerce_cross_sells_orderby’, $orderby );
    $cross_sells = wc_products_array_orderby( $cross_sells, $orderby, $order );
    $limit = apply_filters( ‘woocommerce_cross_sells_total’, $limit );
    $cross_sells = $limit > 0 ? array_slice( $cross_sells, 0, $limit ) : $cross_sells;

    wc_get_template( ‘cart/cross-sells.php’, array(
    ‘cross_sells’ => $cross_sells,

    // Not used now, but used in previous version of up-sells.php.
    ‘posts_per_page’ => $limit,
    ‘orderby’ => $orderby,
    ‘columns’ => $columns,
    ) );
    }
    }

    Вопрос по теме. Почему наколенного и что в ней не так, почему она не нормальная? Может я что то не замечаю. Почти 3 года работает, вроде жалоб не поступало.

    • Ответ изменён 1 неделя, 5 дн. назад пользователем  rider2006007. Причина: изменение
Просмотр 2 ответов — с 1 по 2 (всего 2)