- 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'])) {
