如何从设置页面中上传图像?

时间:2012-02-08 作者:Mark

有没有一种简单的方法可以将上传框包含到您的设置页面?

我正在构建一个开放的图形选项页面,我喜欢用户直接从该页面上传标准图像。

1 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

WordPress为此提供了一个方便的功能:wp_handle_upload().

假设您在设置页面中已经有相应的文件表单字段,并且您正在使用register_setting() 对于您的选项,因此已经有选项验证回调,只需使用wp_handle_upload(). 下面是一个示例:

<?php
// 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[$setting] );
    }
}
?>
那么,你只需要定义一下theme-slug_image_upload() 回调,使用wp_handle_upload():

<?php
function theme-slug_image_upload( $the_file, $input ) {
    $data = $_FILES[$the_file . \'_file\'];
    if ( \'\' != $data[\'name\'] )
        $upload = wp_handle_upload( $_FILES[$the_file . \'_file\'], array( \'test_form\' => false ) );
    else
        $upload[\'url\'] = $input[$the_file];
    return $upload[\'url\'];
}
?>
差不多就是这样。

结束

相关推荐

Featured Images on Front Page

我目前有一个静态首页和一个/博客。我的目标是让头版成为手工选择的图像网格(类似于公文包)。我希望能够轻松切换此页面上的图像,而无需更改原始html。最好的方法是在页面上使用自定义字段吗?还是有更好的方法来管理静态页面上的特色图像?谢谢