如何改变过期和过期的电子邮件发送到管理员通过WP过滤器挂钩在付费会员专业插件


How to change expiring and expired emails to send to admin via WP filter hook in Paid Memberships Pro plugin..?

Paid members Pro有一大堆默认的电子邮件模板,这些模板由不同的事件触发,根据事件发送给用户/成员或管理员(一些事件有两个模板:一个给用户,一个给管理员)。

这个插件提供了大量的钩子和过滤器来方便自定义。

这是PMPro email类中提供的过滤器及其在GitHub上的整个源代码,并在crons中实现。

如何才能只更改特定模板的电子邮件收件人?和/或密件管理员只为一个特定的模板?

如有任何见解,不胜感激。

顺便说一句,我正试图在一个单独的插件中实现这一点,你知道的,不编辑插件本身,所以我可以保持它的更新等…

通过使用钩子有几种方法可以做到这一点。

我想到的第一个是,您可以使用pmpro_email_filter过滤器来修改PMProEmail实例。

例如,如果电子邮件模板是"某事",下面的代码段将把收件人的电子邮件更改为"new_email@example.com":

add_filter('pmpro_email_filter', 'modify_email_recipient');
function modify_email_recipient($pm_pro_email) {
    if ( $pm_pro_email->template == 'something' ) {
        $pm_pro_email->email = 'new_email@example.com';
    }
    return $pm_pro_email;
}