php - 如何在电子邮件中显示 WordPress 的当前和旧信息
问题描述
我目前正在编写一个发送电子邮件的服务,当用户更新他/她的个人资料时。此信息将显示为 Discord 消息(通过 Zapier 集成)。我的问题,我当前的设置只显示旧信息,我怎样才能得到最新和旧版本被发送出去?如果我在我的个人资料页面上应用相同的代码,我会得到“最新”版本。
所以我目前遇到的问题是:$discord_username
是以前的数据,而不是最新的变体。是空的$user_info_old / $user_info_old->discord_id
,如果我print_r($olduserdata)
那么我就得到一个1
回。
我如何获取当前信息$user_info->discord_id
和以前的数据$user_info->discord_id
?这是我目前的设置。不是最好的,但它可以完成 90% 的工作。
function user_profile_update( $user_id, $olduserdata ) {
$site_url = get_bloginfo('wpurl');
$active_memberships = wc_memberships_get_user_memberships( $user_info, $args );
$user_info = get_userdata( $user_id );
$user_info_old = get_userdata( $olduserdata );
$discord_username = $user_info->discord_id;
if ($active_memberships && $discord_username) {
$namemembership = $active_memberships[0]->plan->name;
$user_regdate = date( 'm/d/Y h:s', strtotime( $user_info->user_registered ) );
$to = 'xxxxx@zapiermail.com';
$subject = $user_info->discord_id;
$message = "**Name: **".$user_info->user_firstname." ".$user_info->user_lastname. "\n**Email Address: **" .$user_info->user_email. "\n**Membership: **".$namemembership."\n**Registered: **".$user_regdate." UTC\n".$user_info_old->discord_id."Please make sure to add correct permission and remove verified tag. \nDiscord ID:```".$user_info->discord_id."\n```".$user_info_old->discord_id."```";
wp_mail( $to, $subject, $message);
}
clean_user_cache( $user_info );
}
更新 我尝试了各种缓存方法,但目前还没有。+ 作为奖励:消息往往显示两次。这个函数/钩子是否被正常调用两次?
解决方案
推荐阅读
- c# - 无法创建类型的常量值... + 跨上下文连接?
- python - 可以使 re.finditer() 从组中排除分隔符吗?
- c++ - 将集合的随机元素添加到列表中并将其从原始集合中删除
- python - DICOM 文件的医学图像质量问题
- java - 构造函数的自定义摆动组件问题
- django - 如何从查询集中创建一个 Select-Field 并在表单中实现它
- kubernetes - how to list the number of ready nodes in a cluster which don't have a taint
- ns2 - 如何计算数据包 AODV 的延迟
- html - CSS图像改变大小
- android - 在移动应用程序中加载元数据的最佳策略是什么?