Ana sorun eksik komut dosyalarıdır. Sıralanan komut dosyaları _WP_Editors::enqueue_scripts()
hiçbir zaman yazdırılmaz. Aynı şey için de geçerlidir _WP_Editors::editor_js()
.
Yani bunu AJAX geri arama işleyicinizde yapmanız gerekir. Bir demo eklentisi yazdım ve GitHub: T5 AJAX Editör'e koydum .
Adında bir sınıf var Ajax_Editor
. Yöntemi render()
editörü AJAX isteklerine yazdırır.
public function render()
{
if ( ! $this->validator->is_valid( TRUE ) )
die( 'nope' );
wp_editor( $this->data->get(), $this->editor_id, $this->settings );
\_WP_Editors::enqueue_scripts();
print_footer_scripts();
\_WP_Editors::editor_js();
die();
}
Kesin sipariş önemlidir, die()
sonunda unutmayın . Henüz çalışmayan şey medya yüklemesidir. Bunu eklemeye çalıştığımda bir JavaScript hatası alıyorum.
Aramanın print_footer_scripts();
size beklenenden daha fazlasını vereceğini unutmayın: bazı eklentiler (örneğin, Sorgu Monitörü) komut dosyalarını AJAX istekleri için bile olsa, orada ihtiyaç duymasalar bile kaydettirirler.