WPML
Statut
Résolu
Signalé pour
WPML Multilingual CMS 4.6.6
Extension/thème associé
Divi
Étiquettes de sujet
ATE, Compatibility

Aperçu de l’anomalie

En utilisant le thème Divi, vous remarquerez que lorsque le texte d’un bouton contenant une apostrophe est traduit avec WPML, l’apostrophe s’affiche sous la forme de l’entité HTML.

Solution de contournement

Veuillez vous assurer de disposer d’une sauvegarde complète de votre site avant de continuer.


  • Ajoutez le code suivant dans le fichier functions.php de votre thème :
    // 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;
    }

Notez que si vous utilisez un bouton de Slider, vous devrez utiliser cette ligne :

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

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

Et si vous utilisez un élément d’accordéon, vous devrez utiliser cette ligne :

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

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

Toutes les anomalies connues →