2016-08-19 5 views
0

Я хочу отправить уведомление по электронной почте, когда Автор пользовательского Meta поле добавляется к их WordPress Сообщение add_post_meta или update_post_meta.WordPress отправить по электронной почте на add_post_meta

Пока мой код ниже успешно работает, но он выполняет только тогда, когда я использую Сохранить сообщение

function order_update_send_email($post_id) { 

$email_sent = get_post_meta($post_id, 'email_sent', true); 
$report = get_post_meta($post_id, 'report', true); 

if ($email_sent == 'Sent') { 
    return; 
} 
if ($report) { 
$post_title = get_the_title($post_id); 
$post_url = get_permalink($post_id); 
$subject = 'Your report for: ' . $post_title; 

$message = "Your order is completed\n\n"; 
$message .= "Report for: " . $post_title . "\n\n Link:" . $post_url; 
$message .= "\n\n" . $report; 

wp_mail('[email protected]', $subject, $message); 
update_post_meta($post_id, 'email_sent', 'Sent'); 
} 
} 
add_action('save_post', 'order_update_send_email'); 

В выше коде Действие крючок save_post работает нормально, но я не могу получить add_post_meta или update_post_meta для работы.

Любой пожалуйста, совет, спасибо.

+0

Извините, что это не так. Потому что после того, как update_post_meta и add_post_meta не будут действовать после/перед в wordpress. Вы должны отредактировать ядро ​​wordpress, чтобы создать действие. – anik4e

ответ

0

вы можете использовать ниже пример кода для этого.

add_action('added_post_meta', 'wp_afterpostmeta', 10, 4); 
add_action('updated_post_meta', 'wp_afterpostmeta', 10, 4); 
function wp_afterpostmeta($meta_id, $post_id, $meta_key, $meta_value) 
{ 
    if ('wp_meta_key' == $meta_key) { 
     wp_do_something($post_id, $meta_value); 
    } 
} 
Смежные вопросы