是否可以通过电子邮件发帖通知访客新媒体上传?

时间:2011-06-18 作者:m-torin

是否有插件或代码段可以:

在每篇文章中添加电子邮件输入表单,当新媒体(或附件)仅为该文章上载时发送预定义消息。此处请求的功能与我所知的其他插件不同,因为它仅针对最终用户,并且仅针对新媒体上载(与评论相比)。

任何见解都会很有帮助!

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

至于电子邮件输入表单,您可以使用任何用于自定义字段的插件(我使用Advanced Custom FieldsCustom Content Type Manager ) 或添加您自己的元框(tutorial ).

要将电子邮件发送到作为自定义字段插入的地址,请使用以下代码
自定义字段命名为email_warn.

过滤器wp_mail_content_type 为电子邮件启用html内容
add_attachment 如果自定义字段已定义且为有效电子邮件,则将在每次上载时触发,提取父ID并发送电子邮件

add_filter( \'wp_mail_content_type\', \'wpse_20324_mail_html\' );
add_filter( \'add_attachment\', \'wpse_20324_post_upload\' );

function wpse_20324_mail_html()
{
    return "text/html";
}

function wpse_20324_post_upload( $attachment_ID )
{
    $uploaded = get_post( $attachment_ID );
    $email = get_post_meta( $uploaded->post_parent, \'email_warn\', true );

    if( isset( $email ) && is_email( $email ) ) 
    {
        /**
         * The message will contain all post info about the uploaded file 
        */
        $vardump = print_r( $uploaded, true );
        $message = \'<pre>\' . $vardump . \'</pre>\';

        $headers = \'From: Test WPSE <[email protected]>\' . "\\r\\n";

        wp_mail( $email, \'subject\', $message, $headers );
    }
}

结束

相关推荐

是否可以确定用户何时在“Media”>“Add New”与“Post>Add an Image”之间

我想将下面的过滤器包装成一个条件,测试用户是否从媒体管理器(Admin>Media>Add New)而不是从post editor图像上载例程上载图像。有可能知道吗$pagenow在这两种情况下似乎是相同的。。。//no extra thumbs global $pagenow; if($pagenow==\"media-new.php\"){ add_filter(\'intermediate_image_sizes_advanced\',\'ce4_no_thumb