电子邮件通知代码段不显示 5 个元键中的 2 个

Email notification snippet doesn´t display 2 out of 5 metakeys

提问人:Nick 提问时间:10/12/2023 最后编辑:Nick 更新时间:10/12/2023 访问量:36

问:

以下代码在每次在网站上注册后都会向管理员邮件发送通知:

function custom_registration_notification($user_id) {
    $user = get_userdata($user_id);
    $admin_email = '[email protected]'; // E-Mail-Adresse, an die die Benachrichtigung gesendet werden soll
    $subject = 'Neue Registrierung auf www.hl.de';

    // Nutzerinformationen
    $username = $user->user_login;
    $user_email = $user->user_email;

    // Zusätzliche Felder aus Benutzerprofil abrufen
    $first_name = get_user_meta($user_id, 'first_name', true);
    $last_name = get_user_meta($user_id, 'last_name', true);
    $tp_phone_number = get_user_meta($user_id, 'tp_phone_number', true);
        update_user_meta($user_id, 'tp_phone_number', $tp_phone_number);
    $description = get_user_meta($user_id, 'description', true);
        update_user_meta($user_id, 'description', $description);



    // Check if fields are empty and set default values if needed
    if (empty($first_name)) {
        $first_name = 'N/A';
    }
    if (empty($last_name)) {
        $last_name = 'N/A';
    }
    if (empty($tp_phone_number)) {
        $tp_phone_number = 'N/A';
    }
    if (empty($description)) {
        $description = 'N/A';
    }

    $message = 'Ein neuer Benutzer hat sich auf der Website registriert:' . "\n\n";
    $message .= 'Vorname: ' . $first_name . "\n";
    $message .= 'Nachname: ' . $last_name . "\n";
    $message .= 'E-Mail: ' . $user_email . "\n";
    $message .= 'Telefonnummer: ' . $tp_phone_number . "\n";
    $message .= 'Unternehmen: ' . $description . "\n";

    wp_mail($admin_email, $subject, $message);
error_log('Custom Registration Error: ' . print_r($tp_phone_number, true));
}
add_action('user_register', 'custom_registration_notification');

不幸的是,它只显示 3 条信息中的 5 条。但在后端,所有 5 个字段都充满了信息。

它看起来像这样:

Vorname: ErrorTest
Nachname: Test
电子邮件: [email protected]
Telefonnummer: N/A Unternehmen: N/A

有谁知道可能是什么问题?

我试过了,但它也不起作用。update_user_meta($user_id, 'tp_phone_number', $tp_phone_number);

php wordpress 电子邮件 代码片段

评论

0赞 CBroe 10/12/2023
“我用 update_user_meta($user_id, 'tp_phone_number', $tp_phone_number) 尝试过;但它也行不通。- 好吧,如果你不能懂上一行的任何内容,那么这几乎没有任何意义,不是吗?$tp_phone_number
1赞 CBroe 10/12/2023
前三个是“默认”字段,而后两个似乎是自定义字段。那么,这些究竟是如何添加到用户配置文件中的呢?
0赞 Nick 10/12/2023
我将这两个自定义字段添加到注册表单中。我使用了相同的元键,它们被添加到配置文件中(我可以在后端看到它们)
0赞 CBroe 10/12/2023
也许你需要找到一个“稍后”的钩子;developer.wordpress.org/reference/hooks/user_register:“当触发此操作时,并非所有用户元数据都存储在数据库中。例如,昵称在数据库中,但first_name和last_name不在(从 v3.9.1 开始)“ - 关于名字和姓氏,现在看起来已经发生了变化,但对于您自己添加的任何其他字段可能仍然如此。
0赞 Nick 11/23/2023
感谢您的回答,但信息存储在后端......

答: 暂无答案