我的主题function.php中有以下功能:
function user_profile_update( $user_id ) {
$site_url = get_bloginfo('wpurl');
$user_info = get_userdata( $user_id );
$to = $user_info->user_email;
$subject = "Profile Updated: ".$site_url."";
$message = "Hello " .$user_info->display_name . "\nYour profile has been updated!\n\nThank you for visiting\n ".$site_url."";
wp_mail( $to, $subject, $message);
}
add_action( 'profile_update', 'user_profile_update');
每当用户更新个人资料时,这基本上会发送一封电子邮件。
电子邮件很好但我得到了3-4次。有什么看起来不合适吗?
答案 0 :(得分:1)
您应该为您的行动设置优先级。现在,您的优先级为10(默认情况下,如果您不定义它)。我认为如果你设置一个高数字的优先级(在这个过程中来得很晚),可能会解决你的问题。
add_action( 'profile_update', 'user_profile_update', 99, 2 );
优先级是传递给add_action
的第三个参数,首先执行较低的数字。高数字(例如99)将在执行结束时放置。即使不需要优先级和接受的参数,传递这些参数仍然是一个好习惯(如果它们与默认值不同,则定义它们)。