Add content blocks to WooCommerce emails
Use Settings → POM Tweaks → E-Commerce → Emails → Email content blocks to insert reusable information into existing WooCommerce notifications. You can select the emails, choose a position, and provide a separate plain-text version. This feature adds content to notifications; it does not create or send additional emails.
WooCommerce must be active. Your account needs access to POM Tweaks settings. The content is shared across matching notifications, rather than collected from checkout or stored separately on an order.
Create a block
- Enable Email content blocks and click Save.
- Add an item to Content blocks and enter an Internal label to identify it in the list.
- Select Enable this block.
- Choose one or more Emails. Leave this selection empty to apply to every email that renders the chosen position.
- Choose Position from the table below.
- Enter text or safe HTML in Content. Ordinary text is divided into paragraphs automatically. Use complete elements appropriate for email.
- Optionally enter a Plain-text alternative. If it is empty, the block derives plain text from Content, preserving link destinations and removing HTML tags.
- Click Save and verify the relevant notification in both formats on a staging site.
Several blocks can use the same position. Drag the blocks to control their order within that position. The selected positions themselves follow the email template's layout. Disable an individual block to stop displaying it while retaining its settings.
The content is static. PHP, shortcodes and merge tags are not executed. Use the separate Custom WooCommerce emails feature when you need its supported dynamic merge tags and additional notifications.
Available positions
The positions use native WooCommerce hooks and retain the email template's existing layout.
| Position | Native hook | Formats |
|---|---|---|
| After the email heading (HTML only) | woocommerce_email_header, after the native header |
HTML |
| Before order details | woocommerce_email_order_details, before native details |
HTML and plain text |
| Before the order table | woocommerce_email_before_order_table |
HTML and plain text |
| After the order table | woocommerce_email_after_order_table |
HTML and plain text |
| After order details | woocommerce_email_order_details, after native details |
HTML and plain text |
| Before order metadata | woocommerce_email_order_meta, before native metadata |
HTML and plain text |
| After order metadata | woocommerce_email_order_meta, after native metadata |
HTML and plain text |
| Before customer details | woocommerce_email_customer_details, before native details |
HTML and plain text |
| After customer details and addresses | woocommerce_email_customer_details, after native contact, address and additional checkout fields |
HTML and plain text |
| Before the email footer (HTML only) | woocommerce_email_footer, before the native footer |
HTML |
Before order details appears after the email's introductory text and before its order details section. Before the order table is inside that section, after any downloadable-product details that precede it. The exact surrounding content depends on the notification and template.
Order positions appear only in notifications that render the corresponding order hook. For example, account emails do not have an order table. Native plain-text templates do not call the header and footer actions, so those two positions intentionally have no plain-text output; choose an order position when the content must appear in both formats.
Templates and email selection
The module works through the hooks in both WooCommerce's enhanced email design and its classic PHP templates. It does not replace templates, remove their original content or inject outside the HTML document. Subject, recipients, heading, native additional content, scheduling and delivery remain controlled by WooCommerce.
Custom templates and email designers must execute the selected native hooks and pass the current email object to them. A template that omits a hook cannot display its block. Selecting an email does not add missing positions to its template. Check the actual generated message after changing templates or email-design plugins.
The email selector includes currently registered WooCommerce and extension notifications. A saved selection remains visible as Unavailable email: … if its provider is temporarily disabled. It is retained for when that notification is available again.
Verify and troubleshoot
On a staging site, generate a matching HTML email and its plain-text version. Check the position, paragraph spacing, links and surrounding order information. Generate a different notification to confirm that the Emails restriction is correct. Check the final message in the email clients your customers use, since CSS support varies.
If a block is missing, verify both enable switches, the selected email, the selected position and the saved content. If content appears in more emails than expected, check whether Emails is empty or another block has the same content. If two blocks appear in an unexpected order, confirm that they use the same position before reordering the list.
Disabling the module removes its inserted content from future renders while keeping its saved blocks. Already delivered emails are unchanged.