Đây không phải là một câu trả lời hoàn chỉnh, chỉ là một hướng thiết kế. Tôi nghĩ rằng cách tiếp cận tốt nhất là một cái gì đó như thế này:
Trong bài chỉnh sửa quản trị
Rip tất cả các mã ngắn từ bài đăng đã lưu và hiển thị nó trong một metabox, ngoài trình chỉnh sửa . Làm cho shure chúng xuất hiện theo thứ tự giống như các đoạn mã ngắn xuất hiện trong Trình chỉnh sửa nhỏ.
Trong API javascript tinyMCE
Tạo một hàm jQuery, khi người dùng nhấp vào một shortcode, nó sẽ hoán đổi HTML từ metabox sang trình chỉnh sửa. Và ngược lại. Các đơn đặt hàng sẽ ổn khi kết hợp, nhưng tôi không chắc chắn về việc bao gồm các mã ngắn. Tuy nhiên, có nhiều cách để thiết kế một kết nối ID đẹp. Các bản cập nhật của shortcodes có thể được thực hiện một cách nhanh chóng với ajax.
Không bao giờ lưu trạng thái shortcode được kết xuất
Trước khi chỉnh sửa công tắc, lưu bản nháp, tự động phát hành và xuất bản, thực hiện lệnh gọi API để kích hoạt khôi phục, do đó trạng thái mã ngắn được kết xuất không bao giờ được lưu ...
Điều này có thể được thực hiện, nhưng bạn cần phải quen thuộc với API tinyMCE để hiểu vị trí và thời điểm truy cập nội dung của trình chỉnh sửa và nối vào các hành động javascript trước khi 'lưu' và hơn thế nữa.
Có thể có một số trình soạn thảo tinyMCE trên cùng một bài chỉnh sửa tải trang.
Phần khôi phục có thể được điều tra bằng cách xem [gallery]
beaviour shortcode. Nhưng việc nhấp vào [MY_SHORTCODE]
phải được thực hiện bằng một số thủ thuật jQuery.
trong tập lệnh admin_footer, truy cập nội dung nơi con trỏ hoạt động với:
var $editor_content = $(tinymce.activeEditor.getBody());
là một gợi ý về cách bắt đầu.