目前大多数主题都有前台投稿的功能,用户可以上传图片等文件,管理员是不希望用户上传任意的媒体文件,这时我们可以对用户上传的文件后缀进行判断,从而来限制上传的文件类型。

如多站点默认提供了允许上传的文件后缀选项,就把多站点的这个功能引用到主题中,代码如下:

//限制用户上传的媒体文件
function iesay_check_upload_mimes( $mimes ) {
    global $post;
    $site_exts = array('jpg','png'); //输入允许上传的文件后缀
    $site_mimes = array();
    foreach ( $site_exts as $ext ) {
        foreach ( $mimes as $ext_pattern => $mime ) {
            if ( $ext != '' && strpos( $ext_pattern, $ext ) !== false )
                $site_mimes[$ext_pattern] = $mime;
        }
    }
    return $site_mimes;
}
if(!is_multisite() && !current_user_can( 'manage_options')){
    add_filter( 'upload_mimes', 'iesay_check_upload_mimes' );
}

 

发表评论