WordPress: Загрузить изображение на странице «Параметры администратора»

Я разрабатываю свой первый плагин wordpress. Это может позволить пользователю изменять логотип в настраиваемом шаблоне и изменять цветовую схему в настраиваемом шаблоне.

Я создал страницу параметров администрирования и теперь хочу добавить поле, позволяющее пользователю загружать изображение. Как загрузить изображение в папку wp-content / uploads. Пока у меня это есть в таблице:

<td><input name="logo_image" type="file" id="logo_image" value="" /></td> 

Правильно ли это? Если да, то каким образом я могу перенаправить файл в нужную папку? Не имеет ли WordPress собственный способ обработки загрузки файлов?

Добавьте этот код в свою глобальную функцию пользовательских параметров.

 if(function_exists( 'wp_enqueue_media' )){ wp_enqueue_media(); }else{ wp_enqueue_style('thickbox'); wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); } <p><strong>Header Logo Image URL:</strong><br /> <img class="header_logo" src="<?php echo get_option('header_logo'); ?>" height="100" width="100"/> <input class="header_logo_url" type="text" name="header_logo" size="60" value="<?php echo get_option('header_logo'); ?>"> <a href="#" class="header_logo_upload">Upload</a> </p> <script> jQuery(document).ready(function($) { $('.header_logo_upload').click(function(e) { e.preventDefault(); var custom_uploader = wp.media({ title: 'Custom Image', button: { text: 'Upload Image' }, multiple: false // Set this to true to allow multiple files to be selected }) .on('select', function() { var attachment = custom_uploader.state().get('selection').first().toJSON(); $('.header_logo').attr('src', attachment.url); $('.header_logo_url').val(attachment.url); }) .open(); }); }); </script> 

Больше информации

или

Медиа-загрузчик в теме и плагине

введите описание изображения здесь

Вы можете использовать встроенную функцию wordpress

 <?php wp_handle_upload( $file, $overrides, $time ); ?> 

Это автоматически переместит файл в папку uploads

Или

Вы можете написать свою собственную функцию PHP .

Дополнительную информацию можно найти здесь -> Загрузка файла WordPress