WPML

Visão geral do problema

Ao usar o tema Divi, você notará que, quando o texto de um botão contendo um apóstrofo é traduzido usando o WPML, o apóstrofo é exibido como a entidade HTML.

Solução alternativa

Este problema foi corrigido. Atualizar para a versão mais recente resolve isso no seu site, portanto, você só precisa desta solução alternativa se ainda não puder atualizar.

Certifique-se de ter um backup completo do seu site antes de prosseguir.

  • Adicione o seguinte código ao arquivo functions.php do seu tema:
    // WPML workaround for compsupp-7001
    add_filter('do_shortcode_tag', 'wpml_compsupp7001_decode_et_pb_button_text', 10, 4);
    
    function wpml_compsupp7001_decode_et_pb_button_text($output, $tag, $attr, $m) {
        if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {
            // Decode both the ampersand and the apostrophe
            $output = html_entity_decode($output, ENT_QUOTES, 'UTF-8');
        }
    
        return $output;
    }

Lembre-se de que, se você estiver usando um botão de Slider, precisará usar esta linha:

if ( class_exists('Sitepress') && 'et_pb_slide' === $tag && isset($attr['button_text'])) {
Em vez de:
if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

E se você estiver usando um item de Acordeão, precisará usar esta linha:

if ( class_exists('Sitepress') && 'et_pb_accordion_item' === $tag && isset($attr['title'])) {
Em vez de:
if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

Todos os problemas conhecidos

Ainda está vendo este problema?

Se a atualização não resolver, envie uma dúvida de suporte e nós vamos analisar isso com você.