我有一个
Custom Post Type 已命名
Task. 我创建了一个函数,用于向所选代理发送电子邮件,通知已分配新任务。功能如下:
function real_estate_send_mail_to_agent() {
global $post;
// If this is just a revision, don\'t send the email.
if ( wp_is_post_revision( $post->ID ) ) {
return;
}
// Exit function if post type is not equal to task
if ( $post->post_type !== \'task\' ) {
return;
}
// Email header
$headers .= "MIME-Version: 1.0\\r\\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\\r\\n";
// Recipient
$agent = get_field_object("agent", $post->ID);// Get agent object from user_table
$emailTo = (string) $agent[\'value\'][\'user_email\']; // Get agent email
$agent_display_name = $agent[\'value\'][\'display_name\']; // Get agent display name
// Email Subject
$subject = "New Task: " .wp_strip_all_tags(get_the_title($post->ID));;
// Email Body
$message = "Hi <b>".$agent_display_name."</b><br/>"
$message .= "You have been assigned a new task <br/>";
$message .= "Please have a look at it ".get_permalink( $post->ID );
// Send the mail
wp_mail( $emailTo, $subject, $message, $headers );
}
add_action(\'save_post\', \'real_estate_send_mail_to_agent\', 11);
该函数将电子邮件发送给代理,这很好。问题是,即使帖子
updated 或
move to trash.
我希望只有在使用save_post. 我需要使用的原因save_post 是因为我必须从中的用户对象获取代理电子邮件User Field Type 使用ACF插件。如果我使用publish\\u post,则不会发送电子邮件,因为它无法获取代理电子邮件。请帮忙。