WP_MAIL-使用$to的自定义字段值

时间:2012-05-14 作者:Scott Meyers

我试图将自定义字段值传递给我的函数。php文件。我要替换:

$to=获取博客信息(\'管理电子邮件\');

关于以下内容:

$to=get\\u custom\\u字段(\'sendto\',TRUE);

因此,用户在其帖子上有一个收件人字段(自定义帖子类型),可以向其中添加电子邮件地址,然后发布帖子时,这些用户也会收到通知。

谢谢你的帮助。

1 个回复
SO网友:chrisguitarguy

我将假设收到这些电子邮件的人已经通过了整个两步选择加入程序,或者他们已经以其他方式表示同意。

有一个名为{$status}_{$post_type} 每当一个帖子从一个状态转换到另一个状态时,它就会触发。因此,发布帖子时publish_post 火灾;发布自定义帖子类型时,钩子publish_the_custom_post_type 已启动。

你可以连接到这个,获取你需要的任何帖子元,并发送电子邮件。

示例:

<?php
// replace \'publish_post\' with \'publish_your_post_type\'
add_action(\'publish_post\', \'wpse52135_transition\', 10, 2);
/*
 * When a post moves from \'draft\' to \'publish, send an email
 *
 * @uses get_post_meta
 * @uses update_post_mtea
 * @uses wp_mail
 */
function wpse52135_transition($post_id, $post)
{
    // store the fact that we sent an email in a custom field if that
    // field is present, don\'t resend
    if(get_post_meta($post_id, \'_wpse52135_sent_mail\', true))
        return;

    $email = get_post_meta($post_id, \'wpse52135_email\', true);

    // No email?  bail.
    if(!$email || !is_email($email)) return;

    // email subject
    $subject = sprintf(
        __(\'New Post: %s\', \'wpse52135\'),
        esc_attr(strip_tags($post->post_title))
    );

    // email body
    $msg = sprintf(
        __("Check out our new post: %s\\n\\n%s", \'wpse52135\'),
        esc_attr(strip_tags($post->post_title)),
        get_permalink($post)
    );

    // send the email
    wp_mail(
        $email,
        $subject,
        $msg
    );

    update_post_meta($post_id, \'_wpse52135_sent_mail\', true);
}
作为plugin.

结束

相关推荐