Я пытаюсь отключить несколько писем о подписках 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, поэтому я 'Я изо всех сил пытаюсь понять, что именно мне нужно сделать, чтобы заставить это работать.
Любая помощь будет оценена.