【发布时间】:2014-08-18 03:09:48
【问题描述】:
我们有一个网站在运行:http://www.presentu.co.nz
该网站正在运行 Wordpress、WooCommerce 和 Xero 插件。
该网站有一项功能,如果用户购买玻璃杯并将徽标上传到该网站,则需要支付额外的一次性费用。这在functions.php文件中添加为:
add_action( 'woocommerce_before_calculate_totals', 'cp_add_custom_price' );
function cp_add_custom_price( $cart_object ) {
global $woocommerce;
foreach ( $cart_object->cart_contents as $key => $value ) {
//$proid = $value['product_id'];
//$variantid = $value['variation_id'];
//$price = $value['data']->price;
$cartItemData = $woocommerce->cart->get_item_data($value);
// MENU COVERS ADD LOGO $99 FEE
if (preg_match("/Upload my logo/i", $cartItemData)) {
$excost = 99;
$woocommerce->cart->add_fee( 'Logo set up fee', $excost, $taxable = true, $tax_class = '' );
}
// GLASSWARE ADD LOGO $35 FEE
if (preg_match("/Yes, add logo/i", $cartItemData)) {
$excost = 35;
$woocommerce->cart->add_fee( 'Logo set up fee', $excost, $taxable = true, $tax_class = '' );
}
// CREATIVE PRINT: BASIC
if (preg_match("/Standard design/i", $cartItemData)) {
$excost = 60;
$woocommerce->cart->add_fee( 'Creative print design fee', $excost, $taxable = true, $tax_class = '' );
}
// CREATIVE PRINT: COMPLEX
if (preg_match("/Creative design/i", $cartItemData)) {
$excost = 110;
$woocommerce->cart->add_fee( 'Creative print design fee', $excost, $taxable = true, $tax_class = '' );
}
}
}
这可以为多种产品增加一次性费用,因为我找不到现成的解决方案。费用将添加到发票上的购物车总额中。
由于某种原因,当它通过 Xero 插件时,它无法收取一次性费用。
有没有人对 WooCommerce 的 Xero 插件有任何经验并且能够通过额外的费用?
【问题讨论】:
标签: php wordpress woocommerce