修改 Ultimate Member 头像上传地址

修改 Ultimate Member 头像上传地址

正在查看 10 个帖子:1-10 (共 17 个帖子)
  • 作者
    帖子
  • xudes
    • 文章数量: 86
    @xudes
    楼主

    您好,可以更改修改 Ultimate Member 头像和封面的上传地址吗?

    诗语
    管理员
    • 文章数量: 5,909
    @feibisi

    可以改的,今天我们都在忙着做订单处理,晚点给你找找方法贴上来。

    xudes
    • 文章数量: 86
    @xudes
    楼主

    好的,感激不尽~

    诗语
    管理员
    • 文章数量: 5,909
    @feibisi

    将此代码添加到 public_html/wp-content/themes/你的主题或子主题/function.php

    这是运行前端所有用户都能上传封面和个人资料图片的代码。

    /**
    * Ultimate Member – Customization
    * Description: Allow everyone to upload profile and cover photos on front-end pages.
    */
    add_filter('um_user_pre_updating_files_array','um_custom_user_pre_updating_files_array', 10, 1);
    function um_custom_user_pre_updating_files_array( $arr_files ){
    
    if( is_array( $arr_files ) ){
    foreach( $arr_files as $key => $details ){
    if( $key == 'userphoto' ){
    unset( $arr_files[ $key ] );
    $arr_files[ 'profile_photo' ] = $details;
    }
    }
    }
    
    return $arr_files;
    }
    
    add_filter('um_allow_frontend_image_uploads','um_custom_allow_frontend_image_uploads',10, 3);
    function um_custom_allow_frontend_image_uploads( $allowed, $user_id, $key ){
    
    if( $key == 'profile_photo' ){
    return true;
    }
    
    return $allowed; // false
    }
    诗语
    管理员
    • 文章数量: 5,909
    @feibisi

    如果是要改变上传路径的话,需要改变 WordPress 的上传路径,但怎么做是有代价的,我们自己的站点图片和静态资源上传的都是另一个目录,比如 logo https://img.feibisi.com/2015/08/wxd_bbs_logo1.png 这样是方便很多,也加速了网站的访问,

    代码如下:

    
    //添加媒体库上传文件地址自定义功能
    add_filter( 'upload_dir', 'custom_upload_dir' );
    function custom_upload_dir( $uploads ) {
        $dir = $_SERVER['DOCUMENT_ROOT'];
        $upload_path = '/data/wwwroot/img.feibisi.com/';
        $upload_url_path = 'https://img.feibisi.com';
    
        if ( empty( $upload_path ) || 'wp-content/uploads' == $upload_path ) {
            $uploads['basedir']  = WP_CONTENT_DIR . '/uploads';
        } elseif ( 0 !== strpos( $upload_path, ABSPATH ) ) {
            $uploads['basedir'] = path_join( ABSPATH, $upload_path );
        } else {
            $uploads['basedir'] = $upload_path;
        }
    
        $uploads['path'] = $uploads['basedir'].$uploads['subdir'];
    
        if ( $upload_url_path ) {
            $uploads['baseurl'] = $upload_url_path;
            $uploads['url'] = $uploads['baseurl'].$uploads['subdir'];
        }
        return $uploads;
    }

    请修改上面的 /data/wwwroot/img.feibisi.com/为你的自定义地址 https://img.feibisi.com 添加上之后,就需要你转移 WordPress 的 wp-content/uploads 文件夹里面的内容到你的另一个文件夹里。

    xudes
    • 文章数量: 86
    @xudes
    楼主

    请问在 function 哪个部分加?

    诗语
    管理员
    • 文章数量: 5,909
    @feibisi

    可以在哪里添加此代码?

    您可以将 PHP 代码片段放置在主题或子主题的 functions.php 文件的底部 (如果是 CSS 代码,请添加到主题的 style.css 文件底部),修改之前建议先备份原始文件,若出现错误请先删除此代码。

    xudes
    • 文章数量: 86
    @xudes
    楼主

    我加到 function 最底部结果打开网站,网页上方出现这些代码了~

    诗语
    管理员
    • 文章数量: 5,909
    @feibisi

    每款主题都不一样,我们使用的也是上面的代码,是正常的。

    xudes
    • 文章数量: 86
    @xudes
    楼主

    我加到 style.css 后代码出现了很多条错误,而且还是传不了图片~

正在查看 10 个帖子:1-10 (共 17 个帖子)
  • 哎呀,回复话题必需登录。

话题信息