Không có bộ lọc mã khi chuyển từ html sang trình soạn thảo trực quan, làm thế nào?


9

Vâng, tôi đã tìm thấy các câu hỏi khác cho chủ đề này, nhưng không có cùng một chủ đề chính xác và không có giải pháp cho vấn đề của tôi.

Nếu bạn bao gồm mã bên trong tab html và bạn chuyển sang chế độ trực quan, sau đó định dạng WP mã ​​thành một khối, xóa tất cả các dấu ngắt và để lại các dòng, xem ảnh chụp màn hình. Tôi nghĩ rằng điều này dễ hiểu hơn như tiếng Anh xấu của tôi.

ví dụ của tôi trong tab html nhập mô tả hình ảnh ở đây

ví dụ tương tự sau khi chuyển sang trực quan nhập mô tả hình ảnh ở đây

Các xét nghiệm của tôi cho một giải pháp. Tôi đã thử nghiệm điều này để dừng WP cho việc này với plugin theo dõi thử nghiệm, cũng có thể đọc được trong Gist 1663554 này

add_filter( 'tiny_mce_before_init', 'fb_tinymce', 9 );

function fb_tinymce( $init ) {

    $init['fix_list_elements'] = FALSE;
    $init['wpautop'] = FALSE;
    $init['remove_linebreaks'] = FALSE;
    $init['apply_source_formatting'] = TRUE;
    $init['extended_valid_elements'] .= ',pre[*],code[*]';

    return $init;
}

Có lẽ một độc giả khác có một giải pháp cho chủ đề này.


Tôi đã hiểu điều này đúng chưa? Bạn muốn dừng trình soạn thảo để loại bỏ ngắt dòng bên trong mã?
kaiser

có, nếu bạn bao gồm mã trên trình soạn thảo html và chuyển sang chế độ trực quan, WP sẽ xóa tất cả các ngắt, đoạn. Cái này hoạt động với Editor.js và tôi không thích bộ lọc cho cái này; có lẽ được mã hóa cứng và mục tiêu duy nhất của tôi là thay thế js này; nhưng nó không tốt lắm; tôi sẽ hủy kích hoạt tính năng này một lần.
bueltge

Câu trả lời:



3

Đúng, đó là một nỗi đau hoàn toàn. 99% các hướng dẫn 'vô hiệu hóa wpautop' hoàn toàn bỏ lỡ sự kiện chuyển đổi tab. Dù sao, bạn nên thử plugin của tôi - http://wordpress.org/extend/plugins/preserved-html-editor-markup/

Nó không chỉ bảo vệ đánh dấu của bạn khỏi bị xáo trộn bởi wpautop, mà nó sẽ duy trì ngắt dòng và thụt dòng trong khi vẫn cho phép bạn sử dụng cả trình soạn thảo HTML và trình soạn thảo Visual.

Phiên bản hiện tại sẽ thực sự vô hiệu hóa wpautop, vì vậy nếu bạn có nội dung hiện có phụ thuộc vào wpautop, trang web của bạn có thể không hiển thị đúng mà không sửa đổi nội dung hiện có. Tôi đang làm việc trên một phiên bản mới sẽ định dạng lại nội dung hiện có để sửa lỗi này. Nó sẽ sẵn sàng vào cuối tuần.


Phiên bản 1.5 sắp được phát hành, điều đó cũng sẽ bao gồm hỗ trợ cho các khối tập lệnh thực. Và phiên bản 1.4 (ổn định hiện tại) cho phép bao gồm có điều kiện các thẻ p hoặc thẻ br, do đó bạn có thể sử dụng dựa trên sở thích của mình.
Giáo hoàng Marcus

Bạn có nhận ra các hàm cho câu hỏi của tôi với JS hoặc PHP, thông qua Bộ lọc không? Tôi chỉ tìm kiếm một hàm, mã bên trong prehoặc codekhông thay đổi từ tinyMCE. Tôi sẽ không một giải pháp, có bộ lọc sau the_content, trong khi hiệu suất cao hơn. Cảm ơn!
bueltge

@bueltge - Tôi không hiểu lắm về câu hỏi. Plugin của tôi giúp khắc phục vấn đề này rất nhiều, vì vậy tôi không thể mô tả ngắn gọn các bộ lọc cụ thể mà tôi đã sử dụng. Bạn chắc chắn có thể nhìn vào mã nguồn của plugin của tôi để tìm hiểu cách tôi đã làm nó.
Marcus Pope

Vâng, tôi có thể đọc trong nguồn của bạn; nhưng có lẽ sẽ dễ dàng hơn nếu bạn cho tôi một lưu ý về giải pháp cho vấn đề của tôi chỉ là câu hỏi. Plugin của bạn sửa chữa rất nhiều chủ đề trong lĩnh vực này.
bueltge

0

Tôi nghĩ giải pháp đơn giản nhất cho những gì bạn mô tả là một plugin như: http://wordpress.org/extend/plugins/wp-no-format/

Tuy nhiên, bạn cũng có thể muốn xem xét các plugin tô sáng cú pháp ... thậm chí còn có một để nhúng các ý chính theo id.


Tôi nghĩ, đây không phải là một giải pháp, bộ lọc plugin này chỉ the_content-Hook. Móc này chỉ ở frontend để có được nội dung, không phải bên trong trình chỉnh sửa.
bueltge

Lấy làm tiếc. Điều đó là chính xác, điều này không ngăn chuyển đổi trình soạn thảo trực quan định dạng lại mã .... Đã lâu rồi kể từ khi id thực sự sử dụng nó và bây giờ nhìn vào trang web cũ tôi đã sử dụng nó cùng với Tắt Visual Editor.
jb510

0

Sử dụng plugin ScScript n Styles. http://wordpress.org/extend/plugins/scripts-n-styles/ Nó được phát minh để "Nhảy qua vòng" và tránh các lỗi wpautop, đặc biệt là các lỗi chuyển đổi tab.

Bạn sẽ nhập [sns_shortcode name = "{name}"] trong trình chỉnh sửa và nội dung của bạn trong tab Shortcodes. Cú pháp được tô sáng và tôi đã làm việc chăm chỉ để viết mã tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.