web-dev-qa-db-ja.com

エディタがjavascriptから初期化されていると、「メディアの追加」ボタンが機能しません。

Wp_editorをjavascriptでインスタンス化しようとしていますが、 'Add Media'ボタンが機能しないことを除けば、うまく機能します。エラーはありませんが、ボタンをクリックしても何も起こりません。

最も単純なテストケース私は、コメントフォームにエディタを追加することを考えることができます。これは、完全にストックコンテンツを持つ21の子テーマでこのコードを介して行いました(テストにHello World!投稿を使用)。

add_action('wp_enqueue_scripts', function() {
  if ( is_single() && comments_open() ) {
    wp_enqueue_editor();
  }
});

add_action('wp_footer', function() {
?>

<script type="text/javascript">
  var editorSettings = {
    mediaButtons: true,
    tinymce: true,
    quicktags: true
  };

  jQuery(function($){
    $(document).ready(function() {
      wp.editor.initialize( 'comment', editorSettings );
    });
  });

</script>

<?php
}, 100);

MediaButtons設定はボタン自体を表示/非表示にするように機能しますが、機能的ではありません。

私は4.9.8サイト(カスタムテーマ)、コメント欄と私が試した他のテキストエリアの両方で問題を抱えています。単純化されたテスト(上記)は5.0であり、Classic Editorプラグインを有効にしてもしなくても同じ症状が現れます。

私はphpのwp_editor()でエディタを印刷しようとしました、そしてそれから私が使用する必要があるテキスト領域が追加されるので、Add Mediaボタンは問題なく動作しますJavaScriptを介して動的に。

誰かが試してみるべきアイデアを持っていますか、あるいはwp.editor.initialize()を通してエディタをインスタンス化することが機能する「メディアの追加」ボタンをもたらすような設定を持っているでしょうか?

2
Jesse Norell

解決策は、wp_enqueue_editor()と共にwp_enqueue_media()を呼び出すことでした。

0
Jesse Norell