2014-03-14 4 views
1

Я ищу для вывода связанных продуктов на моей странице корзины woocommerce.Выходные продукты на Woocommerce Корзина Страница

Функция woocommerce_related_products() прекрасно работает при просмотре одного продукта.

Но когда на шоппинг-cart.php, с помощью этой функции возвращает ошибку:

Fatal error: Call to a member function get_related() on a non-object in /woocommerce/single-product/related.php

Я попытался включая функцию внутри цикла продукта:

foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { 

    $_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key); 
    $product_id = apply_filters('woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key); 

    if ($_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters('woocommerce_cart_item_visible', true, $cart_item, $cart_item_key)) { 
     woocommerce_related_products(); 
    } 
} 

Это произвело то же самое ошибка.

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

ответ

1

Проблема заключается в том, что предполагается, что woocommerce_related_products() используется в цикле (это термин, специфичный для WordPress). Эта функция включает в себя шаблон /woocommerce/single-product/related.php, внутри которого WooCommerce пытается достичь глобальных переменных $product и $woocommerce_loop, которые не определены там, где вы пытаетесь выполнить эту функцию.

Я бы посоветовал вам открыть файл /woocommerce/single-product/related.php, посмотреть, как связаны продукты, и написать еще один пользовательский код для получения связанных продуктов, отображаемых вне цикла.

Смежные вопросы