2011-08-12 41 views
7

Câu hỏi nhanh về WordPress. Tôi đã được Googling tất cả các nơi và không thể tìm thấy một câu trả lời.Hình ảnh biên tập WordPress cho mã ngắn

Về cơ bản, tôi đang tìm cách nhân rộng những gì sẽ xảy ra khi bạn thêm thư viện: có hình ảnh được hiển thị dưới dạng chân đế cho bộ sưu tập shortcode [gallery]. Các shortcode có thể nhìn thấy khi bạn đi để chỉnh sửa HTML.

Tôi muốn sao chép chính xác hiệu ứng này: Khi một mã ngắn được chèn vào trình chỉnh sửa tôi muốn được hiển thị dưới dạng hình ảnh.

Những điều tôi đã thử:

  • Chèn một phần tử (hình ảnh, div, tôi thấy một đầu vào là khá unfuckwithable, vv) đó là bọc bởi một shortcode (này hoạt động ok, không tuyệt vời. Mã ngắn vẫn hiển thị và WP sẽ tự động thêm đoạn văn bản vào phần tử để tạo không gian mà người dùng có thể, có thể thêm nội dung sẽ được mã ngắn đó ăn) -
  • Nhạy mã ngắn là <! - -> bình luận (Điều này cũng không làm việc tuyệt vời, WP sẽ thỉnh thoảng ăn nó di chuyển giữa Visual/HTML. Các ý kiến ​​CŨNG ăn nội dung của bạn <! - [shortcode] -> giữ chỗ < -! [/ Shortcode] ->= < - render shortcode ->)

Đó là mức độ mà tôi đã nghĩ về mọi thứ. Tôi không thể tìm thấy một hướng dẫn về làm thế nào để bắt chước hành vi của [gallery] và không thể tìm thấy nó bằng cách đi qua can đảm của wp-admin.

Cảm ơn!

+3

Tìm kiếm nguồn WP cho "[gallery", bạn sẽ tìm thấy một tá tá tệp xử lý vấn đề này, bao gồm plugin TinyMCE. Hầu hết trong số họ là dưới wp-bao gồm, không phải wp-admin. –

+0

D'oh nhìn vào wp-admin, cảm ơn cho tip! – Mojowen

Trả lời

6

Được rồi, tìm câu trả lời nhờ gợi ý của Dan. Dưới đây là cách thực hiện:

Đầu tiên (như Dan đề xuất) hãy xem cách họ thêm plugin Thư viện vào MCE nhỏ. Có thực sự là một tập tin js nén mà sẽ cung cấp cho bạn cái nhìn tổng quan bạn cần, tìm thấy nó trong:

/wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js

này đi qua những điều cơ bản về việc thêm loại plugin này vào TinyMCE (more info here). Để WP tải tệp .js bằng plugin TinyMCE của bạn, see this helpful guide.

Về cơ bản đây là các mã:

if (get_user_option('rich_editing') == 'true') { 
    add_filter("mce_external_plugins", "add_jolokia_tinymce_plugin"); 
//Applying the filter if you're using the rich text editor 
} 

function add_jolokia_tinymce_plugin($plugin_array) { 
    $plugin_array['example'] = '/path/to/example.js'; 
    return $plugin_array; 
} 

Thêm phần này vào một plugin hoặc function.php trong một chủ đề Và bạn tốt!

Các vấn đề liên quan