WooCommerce产品页面上的交叉销售

时间:2017-06-02 作者:user771417

是否可以在WooCommerce产品页面上添加交叉销售?据我所知,交叉销售只能在购物车页面上显示。

1 个回复
SO网友:cr0ybot

这是我的解决方案。在我的情况下,“相关产品”部分没有意义(因为商店已经按照类别进行了组织),所以我删除了标准相关产品部分,并用相同的模板重新添加了它,但通过将模板输入交叉销售而不是相关产品。该部分仍然显示“相关产品”,外观相同,但填充了交叉销售产品。

// Remove "related Products"
remove_action( \'woocommerce_after_single_product_summary\', \'woocommerce_output_related_products\', 20 );

// Show cross-sells using related template on single product page
// see https://docs.woocommerce.com/wc-apidocs/source-function-woocommerce_related_products.html#1264-1296
function wc_output_cross_sells() {
    $crosssells = get_post_meta( get_the_ID(), \'_crosssell_ids\', true );

    $args = array(
        \'posts_per_page\' => 2,
        \'columns\'        => 2,
        \'orderby\'        => \'rand\',
        \'order\'          => \'desc\',
    );
    $args[\'related_products\'] = array_map( \'wc_get_product\', $crosssells );

    // Set global loop values.
    $woocommerce_loop[\'name\']    = \'related\';
    $woocommerce_loop[\'columns\'] = apply_filters( \'woocommerce_related_products_columns\', $args[\'columns\'] );
    wc_get_template( \'single-product/related.php\', $args );
}
add_action(\'woocommerce_after_single_product_summary\', \'wc_output_cross_sells\', 30);

结束

相关推荐