Take the 2-minute tour ×  Is there an easy way to include an
upload box to your settings page?  I am building an Open Graph
options page and I like users to upload a standard image
directly from that page.  share|improve this question add
comment  2 Answers  up vote 2 down vote accepted  WordPress
provides a convenient function for just this purpose:
wp_handle_upload().  Assuming that you already have the
appropriate file form field in your settings page, and that
you're using register_setting() for your options, and therefore
already have an options validation callback, simply handle the
file form field data using wp_handle_upload(). Here's an
example:  // Validate file fields else if ( 'file' ==
$optiondetails['type'] ) {     if ( isset( $input[$setting] ) )
{         // Only update setting if input value is in the list
of valid options         $setting_file = $setting . '_file';
$valid_input[$setting] = ( isset( $_FILES[$setting_file] ) ?
theme-slug_image_upload( $setting, $input ) : $valid_input[$