私のエディタでは、TinyMCEで生成されたポップアップを使ってテキストエリアに複雑なショートコードを挿入したいと思います。私はTinyMCE APIを使ってポップアップを表示します(この質問の最後)。ポップアップは私のテーマの中のPHPファイルです。をお願いします:
if ( ! defined( 'ABSPATH' ) )
は機能しません)。あなたが提案できる方法はどれですか?
TinyMCE API呼び出し
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
TinyMCEのポップアップはWordPressの外部にあります。 WordPressインストールの外と同じハンドル、wp-load.php
を含める必要があります。
しかし、このソリューションについて考えてみてください。json文字列でデータを作成し、ポップアップでこのデータを処理する方がよりクリーンかもしれません。 include od wp-load.phpについて この投稿 を読むと役立ちます。
ここでは、wp-load.php
を含めずに、WordPressでTinyMCEポップアップダイアログを作成する例を含む Gist を見つけます。著者は tutorial も書いていますが、これはドイツ語のみです。
また、これに対するヒント WPSE Question チュートリアルについて。このチュートリアルでは、JavaScriptのみを使用してポップアップコンテンツを作成します。おそらくより安全で、ハンドルのデータもjsを介してエディターと通信します。