Cangkuk woocommerce_add_order_item_meta yang ditamatkan: Penggantian Moden
Cangkuk woocommerce_add_order_item_meta yang ditamatkan, digunakan untuk menambah metadata tersuai untuk memesan item, telah menimbulkan kebimbangan . Nasib baik, WooCommerce telah memperkenalkan penyelesaian alternatif untuk memenuhi keperluan ini.
Penyelesaian 2017/2018: Memanfaatkan Penetap dan Pengambil CRUD
Dengan pengenalan Woocommerce 3, CRUD kaedah setter dan getter menyediakan cara yang cekap untuk memanipulasi data dalam WooCommerce. Cangkuk gantian yang disyorkan ialah:
Cangkuk ini menawarkan akses kepada data yang berkaitan, termasuk item pesanan, kunci item troli, nilai , dan objek pesanan. Ia membolehkan anda mengemas kini metadata menggunakan sintaks berikut:
$item->update_meta_data('meta_key', 'meta_value');
Contoh Pelaksanaan:
add_action( 'woocommerce_checkout_create_order_line_item', 'custom_checkout_create_order_line_item', 20, 4 ); function custom_checkout_create_order_line_item( $item, $cart_item_key, $values, $order ) { // Get product custom field value $custom_field_value = get_post_meta( $item->get_product_id(), '_meta_key', true ); // Update order item meta if ( ! empty( $custom_field_value ) ) { $item->update_meta_data( 'meta_key1', $custom_field_value ); } // ... // Get cart item custom data and update order item meta if ( isset( $values['custom_data'] ) ) { $item->update_meta_data( 'meta_key2', $values['custom_data'] ); } }
Kesimpulan:
woocommerce_checkout_create_order_line_item ialah alternatif pilihan kepada cangkuk woocommerce_add_order_item_meta yang ditamatkan untuk menambahkan metadata tersuai untuk memesan item. Kaedah cangkuk dan penetap dan pengambil CRUD ini menyediakan pendekatan moden dan cekap kepada manipulasi data dalam WooCommerce 3 dan seterusnya.
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Cangkuk `woocommerce_add_order_item_meta` yang Dihentikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!