Как подключить стандартный загрузчик файлов в админки вордпресс?
Мне нужно хранить в произвольных полях вордпресс адреса картинок., которые я буду выводить в последствии в своем шаблоне. Как подключить стандартный загрузчик вордпресс, что бы после загрузки, в 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');
Спасибо. теперь работает) еще буду тестить. в случае чего отпишусь.