¿Cómo cargar wp_editor usando Jquery?

2 minutos de lectura

avatar de usuario
shashank

Quiero agregar el editor de WordPress dinámicamente usando jquery en mi complemento personalizado de la siguiente manera:

 <?php

  $content="";

  $editor_id = 'mycustomeditor';      

?>

 $('#container').append('<?php wp_editor( $content, $editor_id );?>');

Estoy recibiendo un error:

SyntaxError: falta) después de la lista de argumentos

...-active"><link rel="stylesheet" id='editor-buttons-css'  href="http://localhost 

También probé el siguiente código (aquí he reemplazado las comillas simples por comillas dobles):

  <?php

     $content = "';

     $editor_id = 'mycustomeditor';      

  ?>

  $('#container').append("<?php wp_editor( $content, $editor_id );?>");

Estoy recibiendo un error:

 SyntaxError: missing ) after argument list   


$('#container').append("<div id="wp-mycustomeditor-wrap" class="wp-core-ui wp-ed...

Si tiene alguna solución, por favor hágamelo saber.

Gracias por adelantado

Sé respuesta tardía. pero ayudará a otros. Pruebe este complemento de jQuery.

https://github.com/anteprimorac/js-wp-editor

puedes usar simple como a continuación

    jQuery(document).ready(function (){

        jQuery('#container').wp_editor();

    });

   add_action('init','my_wpEditOUPUTT');function my_wpEditOUPUTT(){
if (isset($_POST['Give_me_editorrr'])){
    wp_editor( '' , 'txtrID_'.$_POST['myNumber'], $settings = array( 'editor_class'=>'my_class',     'textarea_name'=>'named_'. $_POST['myNumber'],  'tinymce'=>true , 'media_buttons' => true , 'teeny' => false,));
    exit;   
}}

<div id="MyPlace"></div> <a href="https://stackoverflow.com/questions/25644967/javascript:myLoad();">Click to load</a>

<script type="text/javascript">
  startNumber = 1;
  function myLoad(){ alert('wait 1 sec');
  startNumber ++;
  $.post('./index.php', '&Give_me_editorrr=1&myNumber="+startNumber ,
    function(data,status){ 
        if (status == "success") {  
            document.getElementById("MyPlace').innerHTML += data; alert("Inserted!");   
            tinymce.init({ selector: 'txtrID_'+startNumber, theme:'modern',  skin:'lightgray'}); tinyMCE.execCommand('mceAddEditor', false, 'txtrID_'+startNumber);
        }
});}

Creo que el problema es que estás usando una sola coma invertida aquí:

'<?php wp_editor( $content, $editor_id );?>'

y aquí:

   $content="";
   $editor_id = 'mycustomeditor';

Pruebe con comillas dobles invertidas y vea si eso ayuda.

necesita comentar el carácter interno (“) y cambiar wp_ por the_ para obtener una cadena.

en php:

$editorCode = the_editor( $content, $editor_id );

en el script reemplazar:

$('#container').append("<?php echo str_replace('"', '\"', $editorCode); ?>");

¿Ha sido útil esta solución?