You can edit the You may also like text on the WooCommerce product page with a single filter introduced for the upsells heading — no gettext workaround or template override needed since WooCommerce 4.1.
Why Reword the Upsells Heading
- “You may also like…” doesn’t match your brand’s tone of voice
- You want a heading that better explains why these products are shown, like “Customers also bought”
- You’re localizing the phrase into a different language without a full translation plugin
- You’re running an A/B test on product page copy and want to try a more persuasive heading
Step 1: Filter the Upsells Heading
WooCommerce added this dedicated filter specifically so store owners could reword the heading without resorting to a full string-translation workaround, so it’s the most direct route available.
/**
* Change the "You may also like..." heading above upsells
* Add to your child theme's functions.php
*/
add_filter( 'woocommerce_product_upsells_products_heading', 'reword_upsells_section_heading' );
function reword_upsells_section_heading() {
return 'Customers Also Bought';
}

Troubleshooting
Nothing Changes After Adding the Snippet
This heading only shows when the product actually has upsell products assigned in its Linked Products tab. If no upsells are set, the whole section — heading included — won’t render at all.
You Need to Change the Cross-Sells Heading Instead
Cross-sells (shown on the cart page) use a different filter — woocommerce_product_cross_sells_products_heading — since they’re a separate section from single-product upsells. Don’t confuse the two; they render on different pages.
The Heading Reverts After a Theme Update
If a theme update wipes out your change, the snippet was likely placed in the parent theme’s functions.php rather than a child theme. Move it into a child theme or a dedicated code snippets plugin so it’s not overwritten again.
Frequently Asked Questions
Does this work on older versions of WooCommerce?
The woocommerce_product_upsells_products_heading filter was added in WooCommerce 4.1. On earlier versions, you’d need a gettext-based string translation instead.
Can I show a different heading per product category?
Yes, inside the function check the current product’s category with has_term() and return different heading text conditionally.
Does changing this heading affect related products too?
No, “related products” is a separate section driven by product category matching, with its own heading and its own filter — this one only affects manually assigned upsells.
Conclusion
A single filter is all it takes to edit the You may also like text on the WooCommerce product page, letting you match the heading to your brand voice in seconds. Remember the section only appears when upsell products are actually assigned, so test on a product that has them configured.
See also How to Edit the Add to Cart Text by Product Category in WooCommerce. Then read How to Edit the In Stock Quantity Text on the WooCommerce Product Page.
Prefer no code? All-in-One Utilities Woo Add-on adds over 50 WooCommerce features, so you can switch them on without code.