आपके कोड में अजीब चीजें हैं जैसे 'order_id' => $email
वह ऑर्डर आईडी मान होना चाहिए न कि ईमेल... साथ ही $customer_id= $order->id;
वह ग्राहक उपयोगकर्ता की आईडी नहीं है, बल्कि ऑर्डर आईडी है, और $email1= $order->id;
इसका उपयोग नहीं किया जाता है और यह गलत है... */
<?php
#-------------------- code begins below -------------------------#
add_action( 'woocommerce_order_status_completed', 'my_function' );
function my_function($order_id) {
global $wpdb;
// Getting the order (object type)
$order = wc_get_order( $order_id );
// Getting order items
$items = $order->get_items();
$total_items_qty = 0;
// Iterating through each item (here we do it on first only)
foreach ( $items as $item ) {
$total_items_qty += $item["qty"];
}
// Here are the correct way to get some values:
$customer_id = $order->customer_user;
$billing_email = $order->billing_email;
$complete_billing_name = $order->billing_first_name . ' ' . $order->billing_last_name;
// Getting the user data (if needed)
$user_data = get_userdata( $customer_id );
$customer_login_name = $user_data->user_login;
$customer_login_email = $user_data->user_email;
// "$wpdb->prefix" will prepend your table prefix
$table_name = $wpdb->prefix."license_table";
// This array is not correct (as explained above)
$data = array(
'username' => $customer_login_name,
'order_id' => $order_id,
'number_of_cameras' => $total_items_qty,
'boolean' => 'false',
);
$wpdb->insert( $table_name, $data );
}
#-------------------- code end -------------------------#
?>
इसके अलावा अजीब बात यह है कि आपके पास एक क्रम में कई आइटम (उत्पाद) हो सकते हैं और आपकी तालिका इसे संभाल नहीं सकती है, क्योंकि आपको आइटम द्वारा एक पंक्ति की भी आवश्यकता होनी चाहिए…