Table of Contents
The Multi-Store Addon for WooCommerce includes a Store Owner Notification feature that automatically notifies store managers when a new order is placed. This ensures that store managers receive real-time updates and can process orders efficiently.
How It Works #
When a customer places an order, the system:
- Identifies the store associated with the order.
- Retrieves the store manager’s email address.
- Sends an email notification containing order details, including:
- Order ID
- Customer details (name, email, phone, address)
- Order total and payment details
- Selected shipping method
- Ordered products with quantities and prices
- Prevents duplicate emails by marking the order as notified in the system.
Customizing the Email Template #
If required, you can customize the store manager notification email template to match your business requirements. To do so:
- Use a WooCommerce-compatible email customizer plugin, such as:
- Email Customizer for WooCommerce – A powerful tool that allows you to design WooCommerce emails using a drag-and-drop interface.
- Kadence WooCommerce Email Designer – A free plugin that provides a simple way to customize WooCommerce emails with a live preview.
- YayMail – WooCommerce Email Customizer – Offers an intuitive builder with various customization options and integration support.
- Install and activate the email customizer plugin of your choice.
- Navigate to the WooCommerce > Emails section in your WordPress dashboard.
- Locate the Store Manager Notification email and click Customize.
- Modify the email template using the drag-and-drop builder or available settings:
- Change the layout, fonts, and colors.
- Modify text content, headers, and footers.
- Add dynamic elements such as order details, customer information, or store branding.
- Save your changes, and the system will use your customized email format.
Advanced Customization (For Developers) #
For more advanced modifications, developers can manually edit the template files:
- Locate the template files under:
asl-wc/includes/modules/email-notification/templates/emails/store-manager-email.php
(HTML template)asl-wc/includes/modules/email-notification/templates/emails/plain/store-manager-email.php
(Plain text template)
- Copy the template file to your theme folder to prevent overwrites during updates:
yourtheme/woocommerce/emails/store-manager-email.php
- Edit the copied file and modify the email content as needed.
- Save the changes, and WooCommerce will now use your customized email template.
Content of the Store Owner Email Template #
The content of the email can be copied from here as well, instead of locating that in that modules directory.
<?php
/**
* Store Manager Order Notification Email Template
*
* This template will be injected into the default WooCommerce email template.
*/
if (!defined('ABSPATH')) {
exit;
}
/*
* @hooked WC_Emails::email_header() Output the email header
*/
do_action( 'woocommerce_email_header', $email_heading, $email );
// Decode the JSON-encoded products array from placeholders
$products = isset($products) ? json_decode($products, true) : [];
?>
<p><?php printf(__('Dear %s,', 'asl-wc'), esc_html($store_title)); ?></p>
<p><?php _e('You have received a new order:', 'asl-wc'); ?></p>
<p><strong><?php _e('Order ID:', 'asl-wc'); ?></strong> #<?php echo esc_html($order_id); ?></p>
<p><strong><?php _e('Total Amount:', 'asl-wc'); ?></strong> <?php echo wp_kses_post($order_total); ?></p>
<!-- Customer Details -->
<h3><?php _e('Customer Details:', 'asl-wc'); ?></h3>
<p><strong><?php _e('Name:', 'asl-wc'); ?></strong> <?php echo esc_html($customer_name); ?></p>
<p><strong><?php _e('Email:', 'asl-wc'); ?></strong> <?php echo esc_html($customer_email); ?></p>
<p><strong><?php _e('Phone:', 'asl-wc'); ?></strong> <?php echo esc_html($customer_phone); ?></p>
<p><strong><?php _e('Address:', 'asl-wc'); ?></strong> <?php echo esc_html($customer_address); ?></p>
<!-- Shipping Details -->
<h3><?php _e('Shipping Details:', 'asl-wc'); ?></h3>
<p><strong><?php _e('Shipping Method:', 'asl-wc'); ?></strong> <?php echo esc_html($shipping_method); ?></p>
<p><strong><?php _e('Shipping Cost:', 'asl-wc'); ?></strong> <?php echo wp_kses_post($shipping_cost); ?></p>
<!-- Order Date -->
<h3><?php _e('Order Date:', 'asl-wc'); ?></h3>
<p><?php echo esc_html($order_date); ?></p>
<!-- Customer Notes -->
<?php if (!empty($customer_note)) : ?>
<h3><?php _e('Customer Notes:', 'asl-wc'); ?></h3>
<p><?php echo wp_kses_post($customer_note); ?></p>
<?php endif; ?>
<!-- Delivery Time for Local Pickup -->
<?php if ($shipping_method_id == 'local_pickup' && !empty($delivery_time)) : ?>
<h3><?php _e('Delivery Time:', 'asl-wc'); ?></h3>
<p><?php echo esc_html($delivery_time); ?></p>
<?php endif; ?>
<!-- Ordered Products Table -->
<h3><?php _e('Ordered Products:', 'asl-wc'); ?></h3>
<table style="width: 100%; border-collapse: collapse; border: 1px solid #ddd;">
<thead>
<tr>
<th style="border: 1px solid #ddd; padding: 8px;"><?php _e('Product', 'asl-wc'); ?></th>
<th style="border: 1px solid #ddd; padding: 8px;"><?php _e('Quantity', 'asl-wc'); ?></th>
<th style="border: 1px solid #ddd; padding: 8px;"><?php _e('Price', 'asl-wc'); ?></th>
<th style="border: 1px solid #ddd; padding: 8px;"><?php _e('Subtotal', 'asl-wc'); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($products as $product) : ?>
<tr>
<td style="border: 1px solid #ddd; padding: 8px;">
<a href="<?php echo esc_url($product['url']); ?>">
<?php echo esc_html($product['name']); ?>
</a>
</td>
<td style="border: 1px solid #ddd; padding: 8px;"> <?php echo esc_html($product['qty']); ?> </td>
<td style="border: 1px solid #ddd; padding: 8px;"> <?php echo wp_kses_post($product['price']); ?> </td>
<td style="border: 1px solid #ddd; padding: 8px;"> <?php echo wp_kses_post($product['subtotal']); ?> </td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php
/*
* @hooked WC_Emails::email_footer() Output the email footer
*/
do_action( 'woocommerce_email_footer', $email );
?>