2015-09-21 3 views
2

У меня есть кнопка, добавленная в WYSIWYG, которая открывает всплывающее окно с заполненными полями. С этими полями я пытаюсь добавить еще одну кнопку, которая выберет файл из медиа-библиотеки и вставьте ссылку/url в текстовое поле. У меня есть кнопка, и она открывает медиа-библиотеку, но когда я выбираю файл, в текстовое поле ничего не добавляется.Wordpress tinyMCE диспетчер загрузки окна не добавляя URL-адрес в текстовое поле

Если я добавлю предупреждение для json.url после выбора медиа, он предупредит меня о ссылке на файл. Поэтому я знаю, что он получает URL-адрес из файла. Однако я не могу получить его в текстовое поле.

Вот кусок кода из моего editor_plugin.js файла:

{ 
    type: 'textbox', 
    name: 'myfile', 
    label: 'My File', 
    id: 'my-file', 
    value: '' 
},{ 
    type: 'button', 
    name: 'select-file', 
    text: 'Upload File', 
    onclick: function() { 
     window.mb = window.mb || {}; 

     window.mb.frame = wp.media({ 
      frame: 'post', 
      state: 'insert', 
      library : { 
       type : 'image' 
      }, 
      multiple: false 
     }); 

     window.mb.frame.on('select', function() { 
      var json = window.mb.frame.state().get('selection').first().toJSON(); 
      alert(json.url); 
      if (0 > $.trim(json.url.length)) { 
       return; 
      } 

      $('#my-file').val(json.url); 
     }); 

     window.mb.frame.open(); 
    } 
} 

ответ

2

РЕШИТЬ ЭТО !!

я удалил "кадр" & "состояние" от wp.media и изменил "$" на "JQuery"

window.mb.frame = wp.media({ 

      library : { 
       type : 'image' 
      }, 
      multiple: false 
     }); 

     window.mb.frame.on('select', function() { 
      var json = window.mb.frame.state().get('selection').first().toJSON(); 

      if (0 > $.trim(json.url.length)) { 
       return; 
      } 

      jQuery('#my-file').val(json.url); 
     });