Я пытаюсь отключить несколько писем о подписках на WC (чтобы они не отправлялись). Я знаю, что могу сделать это вручную в области настроек администратора, но я пытаюсь сделать это через PHP (в плагине). Причина этого заключается в том, что при перемещении с тестового сайта на действующий соответствующие файлы можно просто скопировать, и это хорошо, без каких-либо изменений ручных настроек.
В качестве примера - удаление нового заказа на продление, который отправляется администратору сайта.
add_action( 'woocommerce_email', 'SA_unhook_unneeded_emails' );
function SA_unhook_unneeded_emails( $email_class ) {
//remove new_renewal_order email (sent to admin)
remove_action( 'woocommerce_order_status_pending_to_processing_renewal_notification', array( $this, 'trigger' ) );
remove_action( 'woocommerce_order_status_pending_to_completed_renewal_notification', array( $this, 'trigger' ) );
remove_action( 'woocommerce_order_status_pending_to_on-hold_renewal_notification', array( $this, 'trigger' ) );
remove_action( 'woocommerce_order_status_failed_to_processing_renewal_notification', array( $this, 'trigger' ) );
remove_action( 'woocommerce_order_status_failed_to_completed_renewal_notification', array( $this, 'trigger' ) );
remove_action( 'woocommerce_order_status_failed_to_on-hold_renewal_notification', array( $this, 'trigger' ) );
//remove_action( 'woocommerce_order_status_completed_renewal_notification', array( $this, 'trigger' ) );
}
Раскомментирование последнего remove_action не имеет значения. Электронные письма все еще отправляются. Я попытался изменить woocommerce_email
на wp_head
, чтобы посмотреть, не изменилось ли что-нибудь, но ничего не изменилось.
Кажется, немного документации (по крайней мере, которую я могу найти) по крючкам подписок WC, поэтому я изо всех сил пытаюсь понять, что именно мне нужно сделать, чтобы это работало.
Любая помощь будет оценена.