You can change WooCommerce SKU text to another label using the gettext filter

add_filter('gettext', 'translate_woocommerce', 10, 3);
 * Change SKU Label
 * @link
 * @since 1.0.0

function translate_woocommerce($translation, $text, $domain) {
   if ($domain == 'woocommerce') {
        switch ($text) {
            case 'SKU':
                $translation = 'Catalogue No:';
            case 'SKU:':
                $translation = 'Catalogue No:';
    return $translation;

So in the above snippet which goes in your functions.php file, any instance of ‘SKU’ or ‘SKU:” will get changed to “Catalogue No:”, change the translation text to suit.

1 Comment

  1. Damien Carbery on January 15, 2021 at 8:24 am

    As the gettext filter is called 100s of times for each page load, this code will have a small impact.

    I wrote about a way to use a partial PO/MO file to get the same result:

Leave a Comment