Wordpress Woocommerce:如何为每个购买的商品生成唯一的ID?
我在WordPress 4.3.1.和WooCommerce 2.4.7.一起工作。对于我的雇主当前的商店项目,我们需要为购买的每件商品生成唯一的ID,这永远不能与任何其他购买相同Wordpress Woocommerce:如何为每个购买的商品生成唯一的ID?,wordpress,woocommerce,Wordpress,Woocommerce,我在WordPress 4.3.1.和WooCommerce 2.4.7.一起工作。对于我的雇主当前的商店项目,我们需要为购买的每件商品生成唯一的ID,这永远不能与任何其他购买相同 add_action( 'woocommerce_order_status_completed', 'custom_function' ); function custom_function($order_id) { // completed order object (can be useful)
add_action( 'woocommerce_order_status_completed', 'custom_function' );
function custom_function($order_id) {
// completed order object (can be useful)
$order = new WC_Order( $order_id );
// run what you want here
}
例如,如果有人购买了3件设计和尺寸相同的衬衫,每件衬衫在购物车中都应该显示一个唯一的商品ID。无论我们收到多少订单,唯一的项目ID都不能重复
至于ID,我正在考虑将产品SKU与日期混合,可能还有订单ID来生成日期。我该怎么做呢?是否有一个插件可以处理这个问题,或者我应该直接使用PHP吗?您可以使用WooCommerce钩子,比如WooCommerce\u order\u status\u completed,以便在每次购买后运行一些东西
add_action( 'woocommerce_order_status_completed', 'custom_function' );
function custom_function($order_id) {
// completed order object (can be useful)
$order = new WC_Order( $order_id );
// run what you want here
}
我可以建议您使用post meta或user meta(根据您的需要)。我假设您希望在内部使用唯一id进行工单跟踪 使用此挂钩(我使用的是处理,而不是完成) 那就这样做吧
function add_unique_id($order_id) {
$order = new WC_Order( $order_id );
$items = $order->get_items();
foreach ($items as $item_id => $product ) {
$gen_id = "generate id goes here";
wc_add_order_item_meta($item_id, 'unique_id', $gen_id);
}
非常感谢。这是一个很大的帮助!更新:我在MySQL中生成了条目ID,然后使用mysqli调用从数据库中获取它们。谢谢你的帮助,编剧和弗拉维奥·李·沃西!这还不错,但我确实喜欢使用处理的想法,而不是完成(尽管这可能会随着我在项目中的工作而改变)。