janelas popup do TinyMCE usando funções do WP

3

No meu editor, gostaria de usar um pop-up gerado pelo TinyMCE para inserir na área de texto alguns códigos de acesso complexos. Eu uso a API do TinyMCE para mostrar o popup (parte inferior desta questão). O pop-up é um arquivo PHP dentro do meu tema. Eu gostaria de:

  1. Para proteger este arquivo do acesso externo ( if ( ! defined( 'ABSPATH' ) ) não funciona).
  2. Use algumas funções do WP dentro desse pop-up.

Qual é a maneira que você poderia sugerir?

Chamada da API do 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
    
por Francesco 27.11.2012 / 13:11

1 resposta

1

O popup de um TinyMCE está fora do WordPress. Você deve incluir o wp-load.php , o mesmo identificador, como fora da instalação do WordPress.

Mas pense sobre essa solução e talvez seja mais limpo, que você crie seus dados em uma cadeia json e manipule esses dados no pop-up. É útil ler este post sobre o include od wp-load.php.

Aqui você encontra um Gist com um exemplo para escrever uma caixa de diálogo popup do TinyMCE no WordPress, sem incluir o %código%. O autor também escreveu um tutorial , mas apenas em alemão.

Além disso, a dica para essa pergunta da WPSE sobre um tutorial. Este tutorial cria o conteúdo pop-up apenas com javascript. Talvez mais seguro e os dados para o identificador também se comuniquem via js para o editor.

    
por bueltge 02.01.2014 / 10:50