我正在尝试修改WordPress新用户通知电子邮件给管理员,使用其他人在这里共享的一些代码。 这是我添加到其中的内容,但在新用户通知电子邮件中,它显示:"角色:数组"而不是角色值。 关于如何让它显示角色价值的任何建议?
<?php
/*
Plugin Name: Custom New User Email
Description: Changes the copy in the email sent out to new users
*/
// Redefine user notification function
if ( !function_exists('wp_new_user_notification') ) {
function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
$user = new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$user_info = get_userdata(1);
$message = sprintf(__('New user registration on %s:'), get_option('blogname')) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= sprintf(__('E-mail: %s'), $user_email) . "rnrn";
$message .= sprintf(__('Role: %s'), $user_info->roles) . "n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
}
}
?>
仅供参考,我想通了并决定发布作为答案,以防有人有兴趣将其添加到新用户通知电子邮件中(仅限管理员):
<?php
/*
Plugin Name: Custom New User Email
Description: Changes the copy in the email sent out to new users
*/
// Redefine user notification function
if ( !function_exists('wp_new_user_notification') ) {
function wp_new_user_notification( $user_id, $plaintext_pass = '' ) {
$user = new WP_User($user_id);
$user_login = stripslashes($user->user_login);
$user_email = stripslashes($user->user_email);
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;
$message = sprintf(__('New user registration on %s:'), get_option('blogname')) . "rnrn";
$message .= sprintf(__('Username: %s'), $user_login) . "rnrn";
$message .= sprintf(__('E-mail: %s'), $user_email) . "rnrn";
$message .= sprintf(__('Role: %s'), implode(', ',$user_meta->roles)) . "n";
@wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Registration'), get_option('blogname')), $message);
if ( empty($plaintext_pass) )
return;
}
}
?>