当新的WooCommerce客户注册时,我正在使用此代码向管理员发送电子邮件通知他们:
add_action('woocommerce_created_customer', 'admin_email_on_registration', 10 , 1);
function admin_email_on_registration( $customer_id) {
wp_new_user_notification( $customer_id );
}
我还发现此代码可以自定义电子邮件:
add_filter( 'wp_new_user_notification_email_admin', 'custom_wp_new_user_notification_email', 10, 3 );
function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$wp_new_user_notification_email['subject'] = sprintf( '[%s] New user %s registered.', $blogname, $user->user_login );
$wp_new_user_notification_email['message'] = sprintf( "%s ( %s ) has registerd to your website %s.", $user->user_login, $user->user_email, $blogname );
return $wp_new_user_notification_email;
}
是否可以将注册表中的所有值添加到此?
任何帮助将不胜感激。
答案 0 :(得分:0)
是否可以将注册表中的所有值添加到此?
根据以上所述,注册字段应该是名字,姓氏,昵称等,所以假设所有上述数据存储在wordpress的user-meta表中,所以你需要得到用户元。 这就是你如何获得, 9 是用户ID
<?php
$all_meta_for_user = get_user_meta( 9 );
print_r( $all_meta_for_user );
?>
结果就像
Array (
[first_name] => Array ( [0] => Tom )
[last_name] => Array ( [0] => Auger)
[nickname] => Array ( [0] => tomauger )
[description] => etc....
)
所以在你的函数中你需要添加2行以上并使用first name
作为返回数组的索引从数组中逐个读取值
更新了功能。
function custom_wp_new_user_notification_email( $wp_new_user_notification_email, $user, $blogname ) {
$all_meta_for_user = get_user_meta( $user->ID );
// print_r( $all_meta_for_user ); // remove '//' for debug.
$wp_new_user_notification_email['subject'] = sprintf( '[%s] New user %s registered.', $blogname, $user->user_login );
$wp_new_user_notification_email['message'] = sprintf( "%s ( %s ) has registerd to your website %s.", $user->user_login, $user->user_email, $blogname );
// getting value from $all_meta_for_user
$wp_new_user_notification_email['firtname'] = sprintf( "%s", $all_meta_for_user['firt name'] );
return $wp_new_user_notification_email;
}