Intereting Posts
Получение ошибки http 500 при включении php-файла в functions.php Возможны ли страницы архива категории или тега? как можно переадресовывать вход и выходить из интерфейса front-end, а не wp-login .php в форме комментария в wordpress WordPress Выпадающая категория как массив для использования в построителе страниц Ошибка загрузки новой версии темы, папка уже существует Производительность в WP-admin с большим количеством сообщений Страница с несколькими циклами, разбивающими разбивку на страницы как я могу разделить HTML в the_content (); вывод? Блокировка wp-admin, вызывающая ошибку HTTP при загрузке Возможно ли отсрочить выполнение обратного вызова вывода короткого кода? Как избежать сжатия WordPress метаданных EXIF ​​при изменении размера изображений? Создание 20 000 сообщений или страниц с использованием CSV-файла? Подробнее открывается приложение Фильтр get_the_categories возвращает пустой массив Какой бы крючок я должен использовать, это будет срабатывать, когда я открою сообщение для редактирования в WP back-end?

Загрузка файлов в меню плагина

В настоящее время я пытаюсь создать плагин wordpress. Я бы хотел, чтобы его пользователи могли добавлять файл загрузки в меню настроек параметров моего плагина и затем регистрироваться в базе данных wordpress, есть ли способ сделать это?

Solutions Collecting From Web of "Загрузка файлов в меню плагина"

Я думаю, что я спустился по этой дороге. Посмотрите на wp_handle_upload , который загрузит ваш файл в каталог / uploads, а затем wp_insert_attachment и wp_generate_attachment_metadata чтобы перечислить указанную загрузку в медиа-библиотеку в качестве вложения, которое «зарегистрирует ее в базе данных WordPress». Затем вы можете запросить вложения следующим образом:

 $attachments = get_posts( array( 'post_type' => 'attachment') ); 

Менеджер мультимедиа загружается с помощью jQuery.
Вот пример файла JS, который я нашел. Я надеюсь, что это помогает.

 (function($) { $(document).ready( function() { var file_frame; // variable for the wp.media file_frame // attach a click event (or whatever you want) to some element on your page $( '#frontend-button' ).on( 'click', function( event ) { event.preventDefault(); // if the file_frame has already been created, just reuse it if ( file_frame ) { file_frame.open(); return; } file_frame = wp.media.frames.file_frame = wp.media({ title: $( this ).data( 'uploader_title' ), button: { text: $( this ).data( 'uploader_button_text' ), }, multiple: false // set this to true for multiple file selection }); file_frame.on( 'select', function() { attachment = file_frame.state().get('selection').first().toJSON(); // do something with the file here $( '#frontend-button' ).hide(); $( '#frontend-image' ).attr('src', attachment.url); }); file_frame.open(); }); }); })(jQuery);