WPML
Stato
Risolto
Segnalato per
WPML Multilingual CMS 4.6.6
Plugin/tema correlato
Divi
Tag dell’argomento
ATE, Compatibility

Panoramica del problema

Utilizzando il tema Divi, noterai che quando il testo di un pulsante contenente un apostrofo viene tradotto con WPML, l’apostrofo viene visualizzato come entità HTML.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.


  • Aggiungi il seguente codice nel file functions.php del tuo 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: tieni presente che se stai usando un pulsante Slider, dovrai usare questa riga:

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

Invece di:
    if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

E se stai usando un elemento Accordion, dovrai usare questa riga:

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

Invece di:
    if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

Tutti i problemi noti →