ventanas emergentes de TinyMCE usando funciones WP

3

En mi editor, me gustaría usar una ventana emergente generada por TinyMCE para insertar en el área de texto algunos códigos cortos complejos. Utilizo la API TinyMCE para mostrar la ventana emergente (parte inferior de esta pregunta). La ventana emergente es un archivo PHP dentro de mi tema. Me gustaría:

  1. Para proteger este archivo del acceso externo ( if ( ! defined( 'ABSPATH' ) ) no funciona).
  2. Use algunas funciones WP dentro de esta ventana emergente.

¿Cuál es la forma en que podría sugerir?

Llamada a la API de TinyMCE

init : function(ed, url) {
        // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mcecax_webnews');
        ed.addCommand('mcecax_webnews', function() {
                ed.windowManager.open({
                        file : url + '/dialog.php',
                        width : 650 + ed.getLang('cax_webnews.delta_width', 0),
                        height : 500 + ed.getLang('cax_webnews.delta_height', 0),
                        inline : 1
                }, {
                        plugin_url : url, // Plugin absolute URL
                        some_custom_arg : 'custom arg' // Custom argument
                });
        });
[...] CUTTED
    
pregunta Francesco 27.11.2012 - 13:11

1 respuesta

1

La ventana emergente de un TinyMCE está fuera de WordPress. Debe incluir el wp-load.php , el mismo identificador fuera de la instalación de WordPress.

Pero piense en esta solución y quizás sea más limpio, que cree sus datos en una cadena json y maneje estos datos en la ventana emergente. Es útil leer esta publicación sobre la inclusión de wp-load.php.

Aquí encontrará un Gist con un ejemplo para escribir un cuadro de diálogo emergente TinyMCE en WordPress, sin incluir el %código%. El autor también ha escrito un tutorial , pero solo en idioma alemán.

También la sugerencia para esta WPSE Question sobre un tutorial. Este tutorial crea el contenido emergente solo con javascript. Tal vez sea más seguro y los datos para el identificador también se comunicarán a través de js al editor.

    
respondido por el bueltge 02.01.2014 - 10:50

Lea otras preguntas en las etiquetas