我正在尝试在使用 Woocommerce 电子邮件模板发布帖子时发送自定义电子邮件。
我已经包括了这Woocommerce负载使用模板和类woocommerce_email_classes
,并已还注册了自定义操作send_entry_list
中的woocommerce_email_actions
过滤器。
do_action('send_entry_list', $competition_id, $entry_list_url);
在触发电子邮件的 中添加add_action
到 this 时class-entry-list-email.php
,它不会triggered
在 debug.log 文件中打印出“ ”。
有谁知道为什么这不开火?
public function __construct() {
add_action( 'send_entry_list', array( $this, 'trigger' ) );
}
public function trigger( $competition_id, $entry_list_url ) {
error_log(print_r('triggered', true));
}
add_filter( 'woocommerce_email_classes', array($this, 'add_draw_number_email'));
function add_draw_number_email( $email_classes ) {
// include our custom email class
require( 'includes/class-entry-list-email.php' );
// add the email class to the list of email classes that WooCommerce loads
$email_classes['Entry_List_Email'] = new Entry_List_Email();
return $email_classes;
}
add_filter( 'woocommerce_email_actions', array($this, 'crwc_register_custom_order_status_action'));
function crwc_register_custom_order_status_action( $actions ) {
$actions[] = 'send_entry_list';
return $actions;
}
实际上,您_notification
在add_action
钩子中失踪了。在WooCommerce的电子邮件,你需要添加_notification
的tag
名称do_action
。
在你的情况,你正在使用send_entry_list
两个do_action
和add_action
而add_action
你只需要追加_notification
的tag
名称,以便钩的名字变成send_entry_list_notification
。
为了让您更轻松,只需进行以下更改。
替换这一行:
add_action( 'send_entry_list', array( $this, 'trigger' ) );
有了这个:
add_action( 'send_entry_list_notification', array( $this, 'trigger' ), 10, 2 );
希望这对你有用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句