gpt4 book ai didi

php - WooCommerce 在插件付款前获取订单产品详细信息

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:34:36 25 4
gpt4 key购买 nike

我需要在插件中付款前显示购物车中的订单详情。

我开发了一个连接 woocommerce 和支付 API 的插件,我需要在其中发送一系列产品详细信息,例如产品 ID、名称、描述、数量和个人金额。

我的问题是我找不到合适的钩子(Hook)来正确获取所有数据。

我怎样才能得到这些数据?

谢谢

更新

这里是基于所有需要它的人的答案的更新:

add_action('woocommerce_checkout_process', 'woocommerce_get_data', 10);
function woocommerce_get_data(){

$cart = array();
$items = WC()->cart->get_cart();
foreach($items as $i=>$fetch){
$item = $fetch['data']->post;

$cart[]=array(
'code' => $fetch['product_id'],
'name' => $item->post_title,
'description' => $item->post_content,
'quantity' => $fetch['quantity'],
'amount' => get_post_meta($fetch['product_id'], '_price', true)
);
}

$user = wp_get_current_user();

$data = array(
'total' => WC()->cart->total,
'cart' => $cart,
'user' => array(
'id' => $user->ID,
'name' => join(' ',array_filter(array($user->user_firstname, $user->user_lastname))),
'mail' => $user->user_email,
)
);

$_SESSION['woo_data']=json_encode($data);

}

感谢@loictheaztec 和@raunak-gupta

最佳答案

I think you are looking for woocommerce_checkout_process hook. WC_Checkout::process_checkout() – Process the checkout after the confirm order button is pressed.

代码如下:

add_action('woocommerce_checkout_process', 'wh_getCartItemBeforePayment', 10);

function wh_getCartItemBeforePayment()
{
$items = WC()->cart->get_cart();

foreach ($items as $item => $values)
{
$_product = $values['data']->post;
$product_title = $_product->post_title;
$qty = $values['quantity'];
$price = get_post_meta($values['product_id'], '_price', true);
}
}

代码位于您的事件子主题(或主题)的 function.php 文件中。或者也可以在任何插件 php 文件中。

希望这对您有所帮助!

关于php - WooCommerce 在插件付款前获取订单产品详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42784075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com