在Woocommerce 3中用特定产品类别的产品替换加售商品

时间:2018-10-27 11:53:55

标签: php wordpress woocommerce product custom-taxonomy

我遇到以下情况-到目前为止,我始终会按1设置Upsell产品自定义,因为无法在管理员中选择产品类别。

现在,在对不再使用的产品进行大范围清洗之后,站点上的产品页面上有很多带有1、2或3的页面,而不是默认数量的4个Upsell产品,这破坏了设计。

是否可以用特定产品类别的产品替换那些加价销售商品?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

要用特定产品类别中的产品替换woocommerce加售,请使用以下代码(您将在其中定义产品类别的子弹)

add_filter( 'woocommerce_product_get_upsell_ids', 'custom_upsell_ids', 20, 2 );
function custom_upsell_ids( $upsell_ids, $product ){
    // HERE define your product categories slugs in the array
    $product_categories = array( 't-shirts' ); // <=====  <=====  <=====  <=====  <=====

    // Return the custom query
    return wc_get_products( array(
        'status'    => 'publish', // published products
        'limit'     => 4, // 4 products
        'category'  => $product_categories, // Product categories
        'orderby'   => 'rand', // Random order
        'exclude'   => array( $product->get_id() ), // Exclude current product
        'return'    => 'ids', // Query returns only IDs
    ) );
}

代码进入活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

  

查询设置为按随机顺序显示特定产品类别中的4种产品(当前产品除外)。

官方文档The wc_get_products() and WC_Product_Query