WPML
Estado
Resuelto
Notificado para
WPML Multilingual CMS 4.6.6
Plugin/tema relacionado
Divi
Etiquetas de temática
ATE, Compatibility

Resumen del problema

Al usar el tema Divi, notará que cuando el texto de un botón que contiene un apóstrofo se traduce usando WPML, el apóstrofo se muestra como la entidad HTML.

Solución alternativa

Por favor, asegúrese de tener una copia de seguridad completa de su sitio antes de continuar.


  • Añada el siguiente código en el archivo functions.php de su 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;
    }

Nota: tenga en cuenta que si utiliza un botón de Slider, tendrá que usar esta línea:

    if ( class_exists('Sitepress') && 'et_pb_slide' === $tag && isset($attr['button_text'])) {

En lugar de:
    if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

Y si utiliza un elemento de acordeón, tendrá que usar esta línea:

    if ( class_exists('Sitepress') && 'et_pb_accordion_item' === $tag && isset($attr['title'])) {

En lugar de:
    if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

Todos los problemas conocidos →