Traduzir os shortcodes do WooCommerce

Traduzir os shortcodes do WooCommerce

O WooCommerce possui por padrão alguns shortcodes que podem ajudar bastante durante o desenvolvimento de uma loja virtual.

Como você já sabe, é possível exibir categorias, produtos, produtos em promoção, produtos recentes, usando apenas estes shortcodes. E o fato de que todos os shortcodes que vem com o WooCommerce são escritos em inglês pode, talvez, te trazer problemas, dependendo da exigência da clientela ou da regra de negócio.

Os atributos do shortcode não podem ser traduzidos. Então, simplesmente traduzir o shortcode pode ser algo inútil pra você. Mas, houve um caso em que foi útil para mim.

Como traduzir os shortcodes?

É possível faze-lo através do uso de um filtro. Você pode colocar o código no arquivo functions.php.

<?php
/**
 * Change WooCommerce shortcode tag name.
 *
 * SEE EXISTING TAGS BELOW:
 *
 * product
 * product_page
 * product_category
 * product_categories
 * add_to_cart
 * add_to_cart_url
 * products
 * recent_products
 * sale_products
 * best_selling_products
 * top_rated_products
 * featured_products
 * product_attribute
 * related_products
 * shop_messages
 * woocommerce_order_tracking
 * woocommerce_cart
 * woocommerce_checkout
 * woocommerce_my_account
 *
 * @link    http://docs.woothemes.com/document/woocommerce-shortcodes/
 * @see     /wp-content/plugins/woocommerce/includes/class-wc-shortcodes.php
 *
 * @param string    Original shortcode tag name
 *
 * @return    string    New shortcode tag name
 */
function translate_woocommerce_shortcode_tag_name( $shortcode ) {
    if ( $shortcode == 'recent_products' ) {
        return 'produtos_recentes';
    } else if ( $shortcode == 'sale_products' ) {
        return 'produtos_em_oferta';
    }

    return $shortcode;
}

$tags = array(
    'recent_products',
    'sale_products',
);

foreach ( $tags as $tag ) {
    add_filter( $tag . '_shortcode_tag', 'translate_woocommerce_shortcode_tag_name' );
}

Com o código acima inserido, então, o shortcode [recent_products] será substituido por [produtos_recentes] e assim acontecerá, também, com os outros que você escolher traduzir.

Além disso, perceba que o trecho acima traduz dois shortcodes. Caso queira traduzir mais, preste atenção no código e faça a mágica. É muito simples.

Quer saber mais sobre esses shortcodes, suas funções e atributos? Visite a documentação oficial do WooCommerce sobre seus shortcodes.


Filipe Seabra
Filipe Seabra
Full Stack Web Developer

Deixe um comentário