Tôi có một chủ đề được phát triển tùy chỉnh và thực sự phức tạp. Một trong những điều tôi có là nhiều khu vực nội dung nơi người dùng có thể chỉ định nội dung cho các tab cụ thể. Tôi tải nhiều phiên bản của trình soạn thảo WordPress thông qua wp_editor()
chức năng. Nó hoạt động hoàn hảo. (Đây là tất cả về phía quản trị viên, trong loại bài đăng "Trang")
Tuy nhiên, tôi đã bắt đầu thực hiện một vài cải tiến, bao gồm khả năng thêm / xóa các tab một cách linh hoạt (trước đây, tôi đã tải 6 trình chỉnh sửa trên trang). Người dùng có thể có 1-7 tab.
Khi người dùng thêm một tab, nó cần thêm một phiên bản của trình soạn thảo vào trang. Tuy nhiên, bất kể tôi cố gắng gì, tôi không thể tải nó và hiển thị chính xác.
Đây là 2 điều mà tôi đã thử cho đến nay:
- Tạo một tệp php có bootstrap quản trị viên đi kèm, sau đó tải trình soạn thảo với
wp_editor()
. Sau đó, tôi thực hiện một jQuery$.load
để gọi trang và đưa HTML kết quả vào khu vực mà nó cần hiển thị. Tuy nhiên, điều này không thực sự hoạt động khi các nút định dạng của trình chỉnh sửa biến mất (đáng chú ý là việc kéo trang trực tiếp lên, trình chỉnh sửa hiển thị và hoạt động hoàn hảo) - Đã tải trình soạn thảo trên trang, bên trong một div ẩn và sau đó khi một tab được thêm vào, hãy sử dụng jquery để di chuyển nó vào vị trí. Thao tác này sẽ tải trình soạn thảo một cách khéo léo, nhưng bạn không thể sử dụng bất kỳ nút chỉnh sửa nào (chúng hiển thị nhưng không làm gì cả) và bạn không thể đặt con trỏ vào vùng văn bản (tuy nhiên, tò mò rằng chuyển sang chế độ HTML cho phép gõ và một số tương tác với các nút chế độ HTML)
Vì vậy, câu hỏi là, có ai có may mắn thêm các biên tập viên thông qua các cuộc gọi AJAX không? Có lời khuyên nào không?
$('#sph-tabs-section-tab'+newTab).load('/wp-admin/admin-ajax.php?action=sph_add_editor');
và sau đó thêm một hàm trả về wp_editor()
. Nó được gọi mà không có vấn đề gì, nhưng nó vẫn chỉ trả về trình chỉnh sửa không có nút. (kết quả chính xác giống như mục 1 trong OP)
admin-ajax.php
? Nếu không thực hiện chức năng với mã của bạn thì hãy gọi nó quaadmin-ajax.php