1 回答

TA貢獻1808條經驗 獲得超4個贊
從 WooCommerce 3 開始,您的代碼有點過時,有一些錯誤嘗試以下操作:
add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );
function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
$meta_key = '_meta_key1'; // <= Here define the correct meta key
$meta_value = $order->get_meta( $meta_key1 );
if ( ! empty( $meta_value1 ) ) {
$fields[ $meta_key1 ] = array(
'label' => __( 'My label 1', "text-domain' ),
'value' => $meta_value1,
);
}
return $fields;
}
代碼位于活動子主題(或活動主題)的functions.php 文件中。經過測試并有效。
現在要將代碼限制為僅用于管理電子郵件通知,您將使用$sent_to_admin參數變量,如下所示:
add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 );
function custom_woocommerce_email_order_meta_fields( $fields, $sent_to_admin, $order ) {
if ( $sent_to_admin ) {
$meta_key1 = '_meta_key1'; // <= Here define the correct meta key
$meta_value1 = $order->get_meta( $meta_key1 );
if ( ! empty( $meta_value1 ) ) {
$fields[ $meta_key1 ] = array(
'label' => __( 'My label 1', "text-domain' ),
'value' => $meta_value1,
);
}
}
return $fields;
}
代碼位于活動子主題(或活動主題)的functions.php 文件中。經過測試并有效。
這次,此自定義字段將不會顯示在客戶電子郵件通知中。
注意:
$order->id
自 WooCommerce 3. 起不正確,請使用$order->get_id()
。WordPress
get_post_meta()
功能可以用 WooCommerce 方法替代WC_Data
get_meta()
。
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報