Remplacement du hook obsolète "woocommerce_add_order_item_meta" pour les méta personnalisées sur les articles commandés
Dans la dernière version de WooCommerce 2.3.7, le "woocommerce_add_order_item_meta" hook a été marqué comme obsolète. Cet article vise à guider les développeurs dans le choix d'un crochet alternatif pour ajouter de manière transparente des méta personnalisées aux articles de commande.
Le crochet de remplacement : woocommerce_checkout_create_order_line_item
Le crochet de remplacement recommandé pour l'ajout de produits personnalisés. La méta pour commander des articles dans WooCommerce 3 et versions ultérieures est "woocommerce_checkout_create_order_line_item". Ce hook offre des fonctionnalités similaires au hook obsolète et possède les arguments suivants :
Utilisation du nouveau hook
Pour utiliser le hook "woocommerce_checkout_create_order_line_item", vous pouvez définir une fonction personnalisée comme la exemple ci-dessous :
<code class="php">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 custom data and update order item meta $custom_data = get_cart_item_meta( $cart_item_key, 'meta_key' ); if ( ! empty( $custom_data ) ) { $item->update_meta_data( 'meta_key', $custom_data ); } }</code>
Cette fonction récupère une méta-valeur personnalisée de l'article du panier et met à jour la méta de l'article de commande correspondant à l'aide de la méthode update_meta_data() de la classe WC_Order_Item_Product.
Les avantages de l'utilisation du nouveau hook
Le hook "woocommerce_checkout_create_order_line_item" offre plusieurs avantages :
Remarque : Bien que le hook "woocommerce_add_order_item_meta" soit toujours fonctionnel, il est recommandé de migrer vers le hook "woocommerce_checkout_create_order_line_item" pour une compatibilité future et une meilleure efficacité du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!