使用Woocommerce电子邮件模板发布帖子时,我正在尝试发送自定义电子邮件。
我已经包括了Woocommerce使用woocommerce_email_classes
加载的模板和类,并且还在send_entry_list
过滤器中注册了自定义操作woocommerce_email_actions
。
do_action('send_entry_list', $competition_id, $entry_list_url);
在触发电子邮件的add_action
中向其中添加class-entry-list-email.php
时,它不会在debug.log文件中打印出“ triggered
”。
有人知道为什么不触发吗?
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;
}
答案 0 :(得分:3)
实际上,您在which (from --python=
钩中缺少_notification
。在WooCommerce电子邮件中,您需要在add_action
的{{1}}名称中添加_notification
。
在您的情况下,您同时在tag
和do_action
中使用send_entry_list
,而在do_action
中,您只需要在{{1 }}名称,因此钩子名称变为add_action
。
为方便起见,只需进行以下更改。
替换此行:
add_action
与此:
_notification
希望,它对您有用。
答案 1 :(得分:0)
按如下所示更改钩子,然后尝试
add_action( 'send_entry_list', array( $this, 'trigger' ), 10, 2 );