Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在管理员电子邮件通知中显示自定义字段_Php_Wordpress_Woocommerce_Custom Fields_Email Notifications - Fatal编程技术网

Php 在管理员电子邮件通知中显示自定义字段

Php 在管理员电子邮件通知中显示自定义字段,php,wordpress,woocommerce,custom-fields,email-notifications,Php,Wordpress,Woocommerce,Custom Fields,Email Notifications,我在wordpress网站上安装了签出字段编辑器。我创建了自定义字段。但是,使用以下代码,PCCustomer字段将同时出现在发送给我和客户的“新订单”电子邮件中。相反,我希望它完全属于我。我试着编辑代码,但仍然不起作用 add_filter( 'woocommerce_email_order_meta_fields', 'custom_woocommerce_email_order_meta_fields', 10, 3 ); function custom_woocommerce_email

我在wordpress网站上安装了签出字段编辑器。我创建了自定义字段。但是,使用以下代码,PCCustomer字段将同时出现在发送给我和客户的“新订单”电子邮件中。相反,我希望它完全属于我。我试着编辑代码,但仍然不起作用

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 ) {
    $fields['meta_key'] = array(
        'label' => __( 'Label' ),
        'value' => get_post_meta( $order->id, 'meta_key', true ),
    );
    return $fields;
}

由于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文件。测试和工作

这次,此自定义字段将不会显示在客户电子邮件通知上

注意

  • $order->id
    自WooCommerce 3以来不正确。改用
    $order->get_id()
  • WordPress
    get\u post\u meta()
    函数可以由WooCommerce
    WC\u Data
    get\u meta()
    方法替换
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;
}