簡體   English   中英

WordPress在add_post_meta上發送電子郵件

[英]WordPress send email on add_post_meta

當自定義元字段通過add_post_metaupdate_post_meta添加到他們的WordPress帖子中時,我想向作者發送通知電子郵件。

到目前為止,我下面的代碼可以成功運行,但是僅當我使用Save Post時才執行

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( 'test@email.me', $subject, $message );
update_post_meta($post_id, 'email_sent', 'Sent');
}
}
add_action( 'save_post', 'order_update_send_email' );

在上面的代碼中,動作鈎子save_post正常工作,但是我無法使add_post_metaupdate_post_meta正常工作。

任何人都請指教,謝謝。

您可以為此使用以下示例代碼。

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 );
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM