Wordpress: Upload Image in Admin Options Page
Add this code to your global custom option function.
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>
or