在某些类别中发布新帖子时发送电子邮件

时间:2014-09-24 作者:Nguyen Duc Phuong

我正在寻找php代码,它将允许我执行以下操作:当新帖子以ID为12和34的类别发布时,电子邮件将发送给所有用户。

1 个回复
SO网友:Robert hue

您可以使用transition_post_status 函数,然后获取用户并向所有用户发送电子邮件。

这是一个示例代码,它没有经过测试。但这会让你从这个开始。

function wcs_send_mail_on_publish_category_posts( $new_status, $old_status, $post ) {

    global $post;

    if ( \'publish\' !== $new_status or \'publish\' === $old_status ) return;

    if ( in_category( array( \'12\', \'34\' ) ) ) {

        $subscribers = get_users( array ( \'role\' => \'subscriber\' ) );
        $emails      = array ();

        foreach ( $subscribers as $subscriber )
            $emails[] = $subscriber->user_email;

        $body = sprintf( \'Hey there is a new entry! See <%s>\', get_permalink( $post )  );

        wp_mail( $emails, \'New entry!\', $body );

    }

}

add_action( \'transition_post_status\', \'wcs_send_mail_on_publish_category_posts\', 10, 3 );

结束

相关推荐

在同一操作中保持2个wp_user(在更新User_Email时更新BILLING_Email)

iam正在尝试更新woocommerce billing\\u email在更新user\\u email时,问题是如何在同一个操作中保存来自wp\\u user的两个对象,在此代码中add_action(\'profile_update\', \'sync_woocommerce_email\', 10, 2) ; function sync_woocommerce_email( $user_id, $old_user_data ) { $current_user = wp_g