Store Owner Notification

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:

  1. Identifies the store associated with the order.
  2. Retrieves the store manager’s email address.
  3. 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
  4. 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:

  1. Use a WooCommerce-compatible email customizer plugin, such as:
  2. Install and activate the email customizer plugin of your choice.
  3. Navigate to the WooCommerce > Emails section in your WordPress dashboard.
  4. Locate the Store Manager Notification email and click Customize.
  5. 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.
  6. 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:

  1. 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)
  2. Copy the template file to your theme folder to prevent overwrites during updates:
    • yourtheme/woocommerce/emails/store-manager-email.php
  3. Edit the copied file and modify the email content as needed.
  4. 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 );

?>