如何使用Python的price_parse l库正确提取单位和美分?
我正在使用 https://github.com/scrapinghub/price-parser 将价格提取为单位和美分。我在使用 CHF 和千位分隔符时遇到问题。如何传递正确的参数? 什么...
python 上的price_parse 库和“1'297.99 CHF” - 如何正确提取单位和美分
我正在使用 https://github.com/scrapinghub/price-parser 将价格提取为单位和美分。我在使用 CHF 和千位分隔符“'”时遇到问题。我怎样才能传递正确的参数?
当存在促销价时,如何用促销价替换正常价格? 我尝试使用这段代码 add_filter( 'woocommerce_format_sale_price', 'dcwd_sale_price', 20, 3 ); 函数 dcwd_sale_...
Woocommerce 中的自定义可变产品格式价格(不带小数)
我目前正在激活的子主题中的functions.php中使用此附加代码,以在产品使用变体时删除价格范围(因此它只会显示价格“来自:X$...
在 Woocommerce 3 中以编程方式更改全球产品类别的产品价格
是否可以更改 Woocommerce 中特定产品类别中的所有产品的价格? 例如,如果我想将“衬衫”产品类别中的所有产品价格更改为 50,是否可以...
在 Woocommerce 的每个产品页面上都有一个文本框,允许用户输入自己的自定义文本。 然后将此文本应用于产品,并按每个字母向客户收费
在 Woocommerce 中,我想为特定产品应用自定义价格。 这是我的实际代码: add_action('woocommerce_get_price','change_price_regular_member', 10, 2); 功能
将 WooCommerce 产品促销价复制为正常价格并重置促销价
我想将 WooCommerce 商店中的所有常规价格替换为促销价值,并删除 wp_postmeta 表下的促销价值。 两者的 post_id 列是相同的...
我已经使用 woocommerce_before_add_to_cart_button 挂钩设置了一个隐藏的输入项 函数 add_gift_wrap_field() { ?>` 我使用 woocommerce_before_add_to_cart_button hook 设置了隐藏的输入项 function add_gift_wrap_field() { ?>`<input type="hidden" id="price_val" name="added_price" value="100.34">`<?php } add_action( 'woocommerce_before_add_to_cart_button', 'add_gift_wrap_field' ); 针对产品保存字段: function save_gift_wrap_fee( $cart_item_data, $product_id ) { if( isset( $_POST['added_price'] ) ) { $cart_item_data = array(); $cart_item_data[ "gift_wrap_fee" ] = "YES"; $cart_item_data[ "gift_wrap_price" ] = 100; } return $cart_item_data; } add_filter( 'woocommerce_add_cart_item_data', 'save_gift_wrap_fee', 99, 2 ); 现在我可以在 $_POST['added_price'] 钩子内回显 woocommerce_before_calculate_totals。 我写的代码如下所示: function calculate_gift_wrap_fee( $cart_object ) { if( !WC()->session->__isset( "reload_checkout" )) { /* Gift wrap price */ $additionalPrice = number_format($_POST['added_price'], 2); $additionalPrice = floatval($additionalPrice); //echo $additionalPrice; exit(); shows the value foreach ( $cart_object->cart_contents as $key => $value ) { if( isset( $value["gift_wrap_fee"] ) ) { /* Woocommerce 3.0 + */ $orgPrice = floatval( $value['data']->get_price() ); $value['data']->set_price( $orgPrice + $additionalPrice ); //not adding the $additionalPrice here. } } } } add_action( 'woocommerce_before_calculate_totals', 'calculate_gift_wrap_fee', 99 ); 我在这里做错了什么? 这是基于您的代码问题的完整、干净、经过测试且有效的解决方案。 在这里,我已将您的自定义字段 key/value 包含在相关购物车项目的购物车对象中,而不是在 calculate_gift_wrap_fee() 函数中获取 Post 值。 这样就不可能丢失自定义字段值,并且新的价格计算是可靠的。 我已经评论了'gift_wrap_fee'和'gift_wrap_price',因为现在并不真正需要它们(但如果您愿意,可以取消注释它们)。 这是这段代码: // The hidden product custom field add_action( 'woocommerce_before_add_to_cart_button', 'add_gift_wrap_field' ); function add_gift_wrap_field() { ?> <input type="hidden" id="price_val" name="added_price" value="100.34"> <?php } // Adding the custom field to as custom data for this cart item in the cart object add_filter( 'woocommerce_add_cart_item_data', 'save_custom_fields_data_to_cart', 10, 2 ); function save_custom_fields_data_to_cart( $cart_item_data, $product_id ) { $bool = false; $data = array(); if( ! empty( $_REQUEST['added_price'] ) ) { $cart_item_data['custom_data']['added_price'] = $_REQUEST['added_price']; // Below this 2 values are not really needed (I think) // (You can uncomment them if needed) ## $cart_item_data['custom_data']['gift_wrap_fee'] = 'YES'; ## $cart_item_data['custom_data']['gift_wrap_price'] = 100; // below statement make sure every add to cart action as unique line item $cart_item_data['custom_data']['unique_key'] = md5( microtime().rand() ); WC()->session->set( 'custom_data', $data ); } return $cart_item_data; } // Changing the cart item price based on custom field calculation add_action( 'woocommerce_before_calculate_totals', 'calculate_gift_wrap_fee', 10, 1 ); function calculate_gift_wrap_fee( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return; // Iterating though cart items foreach ( $cart->get_cart() as $cart_item ) { // Continue if we get the custom data for the current cart item if( ! empty( $cart_item['custom_data'] ) ){ // Get the custom field "added price" value $added_price = number_format( $cart_item['custom_data']['added_price'], 2 ); // The WC_Product object $product = $cart_item['data']; // Get the price (WooCommerce versions 2.5.x to 3+) $product_price = method_exists( $product, 'get_price' ) ? floatval(product->get_price()) : floatval($product->price); // New price calculation $new_price = $product_price + $added_price; // Set the calculeted price (WooCommerce versions 2.5.x to 3+) method_exists( $product, 'set_price' ) ? $product->set_price( $new_price ) : $product->price = $new_price; } } } 代码位于活动子主题(或主题)的 function.php 文件中,或者也位于任何插件文件中。 此代码经过测试,适用于 2.5.x 到 3+ 的 WooCommerce 版本。
WooCommerce 产品价格可见性:仅针对特定类别添加价格
我正在开发的网站要求您登录才能查看价格,我一直在使用插件来执行此操作。然而,我只是被抛出了一个曲线球,并被告知我们的一个特定类别......
在 Woocommerce 中显示两位小数价格四舍五入到一位小数
我们一直在制作一条消息,通知客户有关运费的信息,如果他/她再花费 XX 美元,将可以享受免费送货。 我使用了各种钩子来确定它的显示位置......
如果客户登录,Woocommerce 对简单产品的全球百分比折扣
我正在寻求有关以下功能有什么问题的建议。 在本示例中,我的目标是只要用户登录,就对所有 WooCommerce 简单产品应用 50% 的折扣。
将 WooCommerce 可变产品价格范围替换为“最高”和最高价格
我找到了以下代码(来自此处),它使我能够在 WooCommerce 上的可变价格产品上显示:“来自:10 英镑”(在 10 英镑 - 50 英镑的产品上)。我想有效地扭转这一局面并显示“...
如何在 WooCommerce 中显示特定产品类别的常规价格 [已关闭]
如何在特定类别的产品列表中显示正常价格而不是折扣价格?它总是显示折扣价格。 这是我的代码: 功能
更改 Woocommerce 3 中特定产品标签的所有产品价格
我使用了一个函数来自动标记所有产品,而无需使用 SQL 或手动执行,因为它们会非常频繁地重新上传和更新。 该功能完美运行其他...
隐藏产品价格并禁用 Woocommerce 中特定产品类别的添加到购物车
我正在寻找隐藏 Woocommerce 中某些特定类别的价格的正确代码。 我已经有了隐藏单个产品页面上的价格的代码: add_action( 'wp', '
在 Woocommerce 单一产品页面和购物车上有条件地设置特定产品价格
在 Woocommerce 中,我想更改单个产品页面和相关购物车项目上特定产品的价格(在本例中 ID 为 87)。 产品价格需要加价...
在 wooCommerce 中,我在编辑产品页面设置中添加了一个带有自定义价格(批发价格)的自定义元字段。一切都运转良好。 当我设定批发价时,它在任何地方都可以正常工作......
定义的产品自定义字段值替换 WooCommerce 循环上的价格[已关闭]
在我的 WooCommerce 产品上,我想用产品型号参考自定义字段(例如:#AB2568B)替换产品价格。如何显示型号参考而不是价格?请帮忙。
在 WooCommerce 中应用优惠券后如何四舍五入价格?
我已将以下代码添加到我的function.php中,但应用优惠券后它没有对价格进行四舍五入。 我正在使用 woocommerce 2.5.5。 这是我的代码: add_filter('woocommerce_get_price_exclusion_t...