WPML

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

Ce problème est résolu. La mise à jour vers la dernière version résout le problème sur votre site, vous n’avez donc besoin de cette solution de contournement que si vous ne pouvez pas encore mettre à jour.

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

Vous rencontrez toujours ce problème ?

Si la mise à jour ne résout pas le problème, faites une demande d’assistance et nous l’examinerons avec vous.