Možná jste si toho všimli, ale od verze 3.2, není ve WooCommerce možnost, znovu odeslat email o nové objednávce pro admina. A protože jsem potřeboval ladit vzhled konkrétně tohoto emailu, musel jsem si do akcí, znovu přidat tuto možnost.
Jako vždy, je to poměrně jednoduché, stačí přidat pár řádků kódu do functions.php, nebo do pluginu.
/**
* Filter to add a new menu to the dropdown
*
* @param array $actions
* @return array
*/
function add_resend_admin_order_email_action( $actions ) {
$actions[‚send_admin_order_details‘] = __( ‚Email order details to Admin‘, ‚woocommerce‘ );
return $actions;
}
add_filter( ‚woocommerce_order_actions‘, ‚add_resend_admin_order_email_action‘, 10, 1 );
/**
* Hook into newly added send_admin_order_details to handle sending of admin emails
*
* @param $order Order object
* @return void
*/
function resend_send_admin_order_email( $order ) {
// Send the admin new order email.
WC()->payment_gateways();
WC()->shipping();
WC()->mailer()->emails[‚WC_Email_New_Order‘]->trigger( $order->get_id(), $order );
// Note the event.
$order->add_order_note( __( ‚Order details manually sent to admin.‘, ‚woocommerce‘ ), false, true );
do_action( ‚woocommerce_after_resend_order_email‘, $order, ‚new_order‘ );
// Change the post saved message.
add_filter( ‚redirect_post_location‘, array( ‚WC_Meta_Box_Order_Actions‘, ‚set_email_sent_message‘ ) );
}
add_action( ‚woocommerce_order_action_send_admin_order_details‘, ‚resend_send_admin_order_email‘, 10, 1 );
A protože mi blog vždycky rozhází formátování, odkaz na Github.