Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 商业订单中的自定义价格挂钩_Php_Wordpress_Woocommerce_Hook Woocommerce_Woocommerce Theming - Fatal编程技术网

Php 商业订单中的自定义价格挂钩

Php 商业订单中的自定义价格挂钩,php,wordpress,woocommerce,hook-woocommerce,woocommerce-theming,Php,Wordpress,Woocommerce,Hook Woocommerce,Woocommerce Theming,我目前正在开发一个网店,在那里我需要做一个单独的价格函数。到目前为止,在woocommerce hooks的帮助下,我成功地在购物车和收银台上操纵了价格,这完全没有任何问题。我使用了woocommerce\u cart\u item\u price,woocommerce\u cart\u item\u小计,woocommerce\u cart\u小计和woocommerce\u cart\u total 现在我们来谈谈我需要在不久的将来解决的问题。我的自定义功能的价格不包括在商业订单中。那么,

我目前正在开发一个网店,在那里我需要做一个单独的价格函数。到目前为止,在woocommerce hooks的帮助下,我成功地在购物车和收银台上操纵了价格,这完全没有任何问题。我使用了
woocommerce\u cart\u item\u price
woocommerce\u cart\u item\u小计
woocommerce\u cart\u小计
woocommerce\u cart\u total

现在我们来谈谈我需要在不久的将来解决的问题。我的自定义功能的价格不包括在商业订单中。那么,在woocommerce创建订单之前,是否存在操纵订单中产品价格的钩子

我看过 但是没有成功

Woocommerce在创建订单时从何处获得价格?价格元字段,
woocommerce\u get\u price
hook、购物车或其他东西。如果有人能给我解释一下,我将不胜感激。我发现woocommerce与它的价格来源不太一致


如果你不理解我的问题或我的英语相对较差,请提问。提前感谢。

我使用了
woocommerce\u get\u price
钩子,当您更改它时,更改后的价格将用于购物车计算总价格(价格*数量)

下单后,WooCommerce将根据总价和数量计算产品价格,如果更改两个值(总价或数量)中的一个,则会更改产品价格

换句话说,订单创建后,价格是动态的

编辑:

增加了改变价格的方法

function change_price( $cart ) {

    //  Exit function if price is changed at backend
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    foreach ( $cart->get_cart() as $key => $item ) {
        $item['data']->set_price( $custom_price );
    }
 }
 add_action( 'woocommerce_before_calculate_totals', 'change_price', 10, 1);

首先,感谢您花时间思考我的问题。我不能使用
woocommerce\u get\u price
,原因是我的自定义价格函数需要与购物车相关的数据来计算最终价格。换句话说,我的购物车中有一些参数必须通过一些钩子传递给我的函数,因此我也可以依赖它们。我开发了一个个人资料商店,客户可以上传他们的徽标,并选择1种颜色、2种颜色和3种颜色。。。等等我将客户的选择与产品一起存储在购物车中。然后我将我的价格函数连接到这些钩子
woocommerce\u cart\u item\u price
woocommerce\u cart\u item\u subtotal
woocommerce\u cart\u subtotal
woocommerce\u cart\u total
。还请注意,通过这些挂钩,我可以访问购物车数据。那么,我如何在Woocommerce订单中操纵最终价格呢?非常感谢您的帮助!这是我案件的最终解决方案。谢谢。这个答案节省了大量的时间!