Sửa lỗi trình soạn thảo wp_editor bên ngoài frontend
Khi bạn sử dụng hàm wp_editor
của WordPress bên ngoài admin, đôi lúc bạn sẽ gặp trường hợp các dấu nháy kép của thuộc tính thẻ HTML bị thay đổi.

Như các bạn thấy trong hình bên trên, các dấu nháy kép "
bị lỗi, đôi lúc thay bằng ”
, đôi lúc thì thay bằng ″
.
Để khắc phục tình trạng này, bạn có thể sử dụng cấu hình cho editor cũng như xử lý nội dung trước khi truyền vào editor như bên dưới:
$defaults = array( 'field_id' => '', 'field_name' => '', 'field_value' => '', 'is_required' => '', 'field_type' => 'text', 'field_attributes' => '', 'teeny' => false, 'editor_css' => '', 'quicktags' => true, 'fix_content' => 1, 'default_editor' => 'tinymce' );
Trong các tham số bên trên, bạn chỉ quan tâm đến default_editor
chọn mặc định là tinymce
. Khi bạn tải editor lần đầu thì nó sẽ hiển thị bên TinyMCE (visual), sau đó bạn chuyển sang trình soạn thảo HTML (văn bản) thì các dấu nháy kép sẽ tự chỉnh sửa.
Sử dụng các dòng code bên dưới để thay xóa tất cả các dấu nháy kép bị lỗi:
$value = $args['field_value']; $value = wp_unslash( $value ); if ( $args['fix_content'] ) { $value = esc_attr( $value ); $value = str_replace( '<', '<', $value ); $value = str_replace( '>', '>', $value ); $value = str_replace( '"', '', $value ); }
Cuối cùng là bạn chỉ việc truyền content (biến $value
) vào trong hàm wp_editor
là được nhé. Chúc bạn thành công.
Lại Đình Cường
Tôi làm quen và phát triển WordPress từ năm 2008, cho đến nay thì đã có hơn 13 năm kinh nghiệm, thật không thể tin được. Tôi có đam mê và dành nhiều thời gian làm việc với WordPress mỗi ngày, hiện tại tôi đang phát triển giao diện và plugin cho WordPress.
Nếu bạn đang cần người làm trang web bằng WordPress? Hãy liên hệ với tôi ngay để được tư vấn nhé.
Không có bình luận.
Bạn có thể trở thành người đầu tiên để lại bình luận.