Rumah > Soal Jawab > teks badan
P粉7369355872023-08-16 10:40:06
WooCommerce sudah mempunyai banyak cangkuk yang boleh anda gunakan dalam templat WooCommerce dan bukannya menambah sendiri...
Peraturan pembangunan yang baik ialah menggunakan cangkuk sedia ada dahulu. Jika tiada cangkuk yang mudah atau tersedia, maka anda boleh mengatasi templat WooCommerce melalui tema kanak-kanak. kenapa? Kerana templat kadangkala dikemas kini dan kemudian anda perlu mengemas kini templat yang diedit, sedangkan cangkuk tidak.
Untuk pemberitahuan "Pesanan Pelanggan Selesai", gunakan cangkuk woocommerce_order_item_meta_end
action seperti ini:
// 将email_id设置为全局变量 add_action('woocommerce_email_before_order_table', 'set_email_id_as_a_global', 1, 4); function set_email_id_as_a_global($order, $sent_to_admin, $plain_text, $email = null ){ if ( $email ) { $GLOBALS['email_id_str'] = $email->id; } } // 在“客户完成订单”电子邮件通知中显示自定义订单项元数据 add_action( 'woocommerce_order_item_meta_end', 'custom_email_order_item_meta', 10, 2 ); function custom_email_order_item_meta( $item_id, $item ){ // 获取email ID全局变量 $refGlobalsVar = $GLOBALS; $email_id = isset($refGlobalsVar['email_id_str']) ? $refGlobalsVar['email_id_str'] : null; // 仅适用于“客户完成订单”电子邮件通知 if ( ! empty($email_id) && 'customer_completed_order' === $email_id ) { bis_show_kit_meta_contents( $item->get_product_id() ); } }
Ini akan membolehkan anda memaparkan metadata tersuai hanya dalam pemberitahuan "Pesanan Pelanggan Selesai".
Sebagai alternatif, anda boleh menggantikan cangkuk dengan satu woocommerce_order_item_meta_start
dengan argumen pembolehubah fungsi yang sama.
Letakkan kod dalam fail functions.php tema anak anda atau dalam pemalam.