Übersicht über das Problem
Wenn Sie das Divi-Theme verwenden, werden Sie feststellen, dass ein Apostroph im Text eines Buttons als HTML-Entität angezeigt wird, wenn dieser mit WPML übersetzt wird.
Problemumgehung
Dieses Problem ist behoben. Ein Update auf die neueste Version behebt dies auf Ihrer Website, daher benötigen Sie diese Problemumgehung nur, wenn Sie noch nicht aktualisieren können.
Bitte stellen Sie sicher, dass Sie über ein vollständiges Backup Ihrer Website verfügen, bevor Sie fortfahren.
- Fügen Sie den folgenden Code in die Datei functions.php Ihres Themes ein:
// 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; }
Beachten Sie: Wenn Sie einen Slider-Button verwenden, müssen Sie diese Zeile verwenden:
if ( class_exists('Sitepress') && 'et_pb_slide' === $tag && isset($attr['button_text'])) {if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {Und wenn Sie ein Accordion-Element verwenden, müssen Sie diese Zeile verwenden:
if ( class_exists('Sitepress') && 'et_pb_accordion_item' === $tag && isset($attr['title'])) {if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {