3

metaboxボタンを含む投稿エディターの下に右を追加するWordpressプラグインを作成しています。</body>プラグインは、終了タグのすぐ下に Javascript ファイルもロードします。

目的

現時点で、私がプラグインで達成しようとしていることは単純です。ユーザーがエディターにコンテンツを入力し、メタボックス内のボタンをクリックすると、エディターのコンテンツを変更したいと考えています。

JS コード

最も単純な形式では:

jQuery(document).ready(function($) {
   $('#button').on('click', function(e) {
      e.preventDefault();

      var editor = tinyMCE.get("content");
      editor.setContent(some_content);
   });
});

問題

問題は、editor変数が を返すことですundefined

FIREBUG (設定しようとした場合var editor)

wpActiveEditor: "コンテンツ"
editors: [ ]
activeEditor: null

私が試したこと

Tinymce のドキュメントと Stackoverflow で見つけた多くのこと (多くの小さな調整も) を試しましたが、問題は同じままです。

どんな助けでも大歓迎です。

PS。テストを実行すると、コンテンツのテキストエリアが表示されます。

4

3 に答える 3

11

tinyMCE.get()「テキスト」モードがアクティブな状態でエディタが最初にロードされると、tinymce は初期化されないため、「ビジュアル」モードとは対照的に を 使用できません。

(「テキスト」モードでテストを続けていたので、「ビジュアル」モードで実際に動作することに気づきませんでした)

したがって、どのタブがアクティブかを最初に判断するには、条件ステートメントが必要です。私はこの方法で問題を解決しました:

function setEditorContent(val) {
  var $_editorTextArea = $('#content');
  $_editorTextArea.is(':visible') ? $_editorTextArea.val(val) : tinyMCE.get('content').setContent(val);
}

この答えが頭痛の種を防ぐことを願っています:)

于 2013-05-22T13:12:48.807 に答える