WPML
Trạng thái
Đã giải quyết
Được báo cáo cho
WPML Multilingual CMS 4.6.6
Plugin/giao diện liên quan
Divi
Thẻ chủ đề
ATE, Compatibility

Tổng quan về lỗi

Khi sử dụng giao diện Divi, bạn sẽ nhận thấy rằng khi văn bản của nút chứa dấu nháy đơn được dịch bằng WPML, dấu nháy đơn sẽ hiển thị dưới dạng thực thể HTML.

Giải pháp tạm thời

Vui lòng đảm bảo tạo một bản sao lưu đầy đủ cho trang web của bạn trước khi tiếp tục.


  • Thêm đoạn mã sau vào tệp functions.php trong giao diện của bạn:
    // 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;
    }

Lưu ý, hãy nhớ rằng nếu bạn đang sử dụng nút Slider, bạn sẽ cần sử dụng dòng này:

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

Thay vì:
    if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

Và nếu bạn đang sử dụng mục Accordion, bạn sẽ cần sử dụng dòng này:

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

Thay vì:
    if ( class_exists('Sitepress') && 'et_pb_button' === $tag && isset($attr['button_text'])) {

Tất cả các lỗi đã ghi nhận →