Как подключить стандартный загрузчик файлов в админки вордпресс?

Мне нужно хранить в произвольных полях вордпресс адреса картинок., которые я буду выводить в последствии в своем шаблоне. Как подключить стандартный загрузчик вордпресс, что бы после загрузки, в  input моего произвольного поля вставлялся адрес загруженной картинки.

Добавить Комментарий
Ответ

Если вы не знаете как добавить блок в админку(meta box), код примера есть тут:
Как сделать блок для загрузки изображений в админке?
Если вы никогда не добавляли свой блок произвольных полей, посмотрите тут:
Как добавить свои произвольные поля к посту в wordpress?

Подключаем скрипты для работы загрузчика вордпресс

 if (function_exists('wp_enqueue_media')) {
 wp_enqueue_media();
 } else {
 wp_enqueue_style('thickbox');
 wp_enqueue_script('media-upload');
 wp_enqueue_script('thickbox');
 }
 /* jquery */
 wp_register_script('YVP_jq', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');
 wp_enqueue_script('YVP_jq');
 /* тут запускаем загрузчик и вставляем адрес картинки в поле. */
 wp_register_script('YVP_scripts', get_bloginfo('template_url').'/scripts.js');
 wp_enqueue_script('YVP_scripts');
 

Код scripts.js

 $('.custom_media_upload').click(function() {
 var send_attachment_bkp = wp.media.editor.send.attachment;
 wp.media.editor.send.attachment = function(props, attachment) {
 //                $('.custom_media_image').attr('src', attachment.url);
 $('.custom_media_url').val(attachment.url);
 //                $('.custom_media_id').val(attachment.id);
 wp.media.editor.send.attachment = send_attachment_bkp;
 }
 wp.media.editor.open();
 return false;
 });
 

Html код формы

 <a href="#" class="custom_media_upload">ЗАГРУЗИТЬ</a> <br />
 <input class="custom_media_url" type="text" name="attachment_url" value=""> - ссылка на картинку
 

Если у вас возникли вопросы, задавайте, я постоянно онлайн — отвечу быстро!

Добавить Комментарий

Я добавила ваш код и мне в консоли отображаются следующие ошибки скриптов:
Uncaught TypeError: Cannot read property ‘send’ of undefined
Uncaught TypeError: a.widget is not a function

Попробуйте не подключать jquery, то есть вот это не нужно:

 /* jquery */
 wp_register_script('YVP_jq', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js');
 wp_enqueue_script('YVP_jq');
 

в 22.01.2016.
Добавить Комментарий

Спасибо. теперь работает) еще буду тестить. в случае чего отпишусь.

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.