Php wp_邮件发送除标题以外的所有内容

Php wp_邮件发送除标题以外的所有内容,php,wordpress,email,Php,Wordpress,Email,我已经建立了一个功能,在发布或更新帖子时发送一封包含所有发布信息的电子邮件。它是像它应该工作,但电子邮件包含一切,除了张贴的标题。我被困了好几个小时。但是,如果我更新了文章,但在发布时什么都没有,我会收到文章标题。只有一个职位的标题。我很感激你能给我的任何帮助 function send_media_emails($post_id, $post_after){ if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)

我已经建立了一个功能,在发布或更新帖子时发送一封包含所有发布信息的电子邮件。它是像它应该工作,但电子邮件包含一切,除了张贴的标题。我被困了好几个小时。但是,如果我更新了文章,但在发布时什么都没有,我会收到文章标题。只有一个职位的标题。我很感激你能给我的任何帮助

function send_media_emails($post_id, $post_after){
    if(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) 
        return;
    if(get_post_status($post_id) == 'draft' or get_post_status($post_id) == 'pending' or get_post_status($post_id) == 'trash')
        return;
    $to  = 'myemail@gmail.com';
    $subject = 'My Email Subject';
    $post = get_post();
    $post = $post_after;
    //$post_title = get_the_title($post_id);
    $body = '<h1>'.get_the_title($post_id).'</h1>';   
    if(is_category){
        $category = get_the_category();
        $body .= '<h2>Reason for Closure: <em>'.$category[0]->cat_name .'</em></h2>';
    }
        $body .= '<h3>This Cancellation/Delay was posted on '.$post->post_date.'</h3>';
        $body .= '<p>'.$post->post_content.'</p>';
        $body .= '<p>View this posting at ' . get_permalink($post_id) . ' or</p>';

    if(did_action('post_updated') == 1){
        wp_mail($to, $subject, $body);
    }
}
add_action('post_updated', 'send_media_emails', 10, 2);

我想出来了。我是从一个自定义术语中提取帖子标题的,所以它没有抓住它。因此,我必须首先从选定的学期中获取标题

$terms = wp_get_post_terms($post_id, 'regions');
$title = $title ? $title : $terms[0]->name;
然后在电子邮件中发送$title变量。以防其他人有这种设置或问题