Я хочу отправить электронное письмо после публикации нового продукта. Электронная почта получателя добавляется в пользовательскую мета в продукте. Вот что я имею в своих функциях. php пока. Если я добавлю электронное письмо в функцию, она будет работать, но, к сожалению, я не смогу получить мета-пост Это потому, что функция запускается, когда продукт еще не сохранен? Как мне этого добиться?
function set_mail_html_content_type() {
return 'text/html';
}
function notify_owner($post_id) {
if ( get_post_type($post_id) == 'product' ) {
$post = get_post($post_id);
$owner_email = get_post_meta($post_id, 'my_custom_meta_here', true);
$subject = "Hello";
$message = "<p>Message goes here.</p>";
add_filter('wp_mail_content_type', 'set_mail_html_content_type');
wp_mail($owner_email, $subject, $message);
remove_filter('wp_mail_content_type', 'set_mail_html_content_type');
}
}
add_action('pending_to_publish', 'notify_owner');
add_action('draft_to_publish', 'notify_owner');
add_action('future_to_publish', 'notify_owner');
add_action('private_to_publish', 'notify_owner');
add_action('auto-draft_to_publish', 'notify_owner');
Я также попытался добавить / изменить следующее, не повезло:
global $post;
$owner_email = get_post_meta($post->ID, 'my_custom_meta_here', true);
$owner_email = get_post_meta(get_the_ID(), 'my_custom_meta_here', true);