php - 在 Woocommerce 中获取最后添加到购物车的产品 ID
问题描述
我尝试了谷歌的所有代码,但没有一个有效。
如:
$items = WC()->cart->get_cart();
$product_id = end($items)['data']->post->ID;
例如,
鞋子有两种不同的颜色:黑色和灰色。我添加了黑色鞋子,然后是灰色鞋子,最后我订购了黑色鞋子。
它应该返回黑色鞋子的 ID,但顶部的代码将显示灰色鞋子的 ID。
我想要最后添加的产品,而不是最后一个位置的产品。
解决方案
您可以将产品放入一个数组并使用 phpend()
函数选择最后一个,如下所示:
global $woocommerce;
//get cart items
$items = $woocommerce->cart->get_cart();
$ids = array();
foreach($items as $item => $values) {
$_product = $values['data']->post;
//push each id into array
$ids[] = $_product->ID;
}
//get last product id
$last_product_id = end($ids);
//get product variation details
$variations = get_variation_data_from_variation_id( $last_product_id );
然后定义get_variation_data_from_variation_id($item_id)
如下:
//function to get product variation
function get_variation_data_from_variation_id( $item_id ) {
$_product = new WC_Product_Variation( $item_id );
$variation_data = $_product->get_variation_attributes();
//return variation detail
return woocommerce_get_formatted_variation( $variation_data, true );
}
推荐阅读
- c# - 在 C# CRUD 操作中更新/编辑条目
- python - Pip 错误 -> ImportError:没有名为 helpers 的模块
- javascript - 在 JavaScript 6 中旋转没有 jQuery 的文本
- javascript - 将 svg 点转换为缩放和旋转的 svg
- laravel - 如何在 laravel 的实时服务器上解决此错误?
- python - 导出为 HTML 时将 html 中的注释添加到 Tableau 仪表板
- assembly - print 800*600 bmp picture assembly
- php - PHPExcel_Calculation_Exception insert formula in field
- scala - Looking for help in Nested groupBy with scalikejdbc?
- java - Java 8 / Fernflower 反编译器:错误或功能