如何根据上一个产品的变化在 woocoomerce 中追加销售产品

时间:2021-07-10 09:53:28

标签: php wordpress woocommerce

我希望有更多编码知识的人会更了解如何解决我在 Wordpress 中遇到的这个小问题。

这个想法在侧推车中,根据最后一个产品的变体,它会在侧推车中显示追加销售的产品。目前我正在使用一个 Woo 侧推车插件,它在侧推车中显示随机追加销售,但我想通过代码覆盖它。

因此,在我的 php 代码段中,我编写了采用最后一个产品变体的代码:

global $woocommerce;

//get cart items
$items = $woocommerce->cart->get_cart();

$ids = array();
foreach($items as $item => $values) { 
        $_product = $values['data']->post; 
        //push each id into array
        $ids[] = $_product->ID; 
} 

//get last product id
$last_product_id = end($ids);

//get product variation details
$variations = get_variation_data_from_variation_id( $last_product_id );

//function to get product variation
    function get_variation_data_from_variation_id( $item_id ) {
        $_product = new WC_Product_Variation( $item_id );
        $variation_data = $_product->get_variation_attributes();
        //return variation detail
        return woocommerce_get_formatted_variation( $variation_data, true ); 
    }

现在的想法是,根据该变体,展示价格更高且具有相同变体的任何产品以进行追加销售。如果这些不是,则显示具有相同变化但价格较低的产品。如果没有,则显示任何产品的随机随机追加销售。

例如:我将一个“250 克和全豆”的咖啡袋加入购物车,售价为 29.99 英镑。对于追加销售,我希望它显示的产品与“250 克和全豆”相同,价格为 39.99 英镑。

所以我有两个问题。

1:如何编码追加销售以匹配上述场景 2:我有一个包含随机追加销售的侧推车。我需要用这段代码覆盖这个随机追加销售,但现在确定如何做到这一点?

请在此处查看网站,以便您可以看到: https://shop.balancecoffee.co.uk/

谢谢

1 个答案:

答案 0 :(得分:1)

WooCommerce 中的所有产品在 CMS 中都有可配置的追加销售 - 这可以在 $product->get_upsell_ids() 上访问。这应该用于根据您在购物车中的产品生成追加销售产品。