首页 > 解决方案 > 如何创建“上传图像”到注册表?

问题描述

我正在 wordpress 上创建一个网站。我想添加“上传图片”部分,在人们注册后,我会检查图片,如果是真实图片,我会接受注册。就像Spotify一样。Spotify 希望确定学生证书,如果它是正确的,那么他们允许在学生价格上使用 spotify。

我知道有插件,但它们不是免费的。那么,我怎样才能免费做到这一点呢?我搜索了代码或方法,但找不到任何来源。

标签: wordpressformsregistration

解决方案


替换现有功能

   function um_get_avatar_uri( $image, $attrs ) {
    $uri = false;
    $uri_common = false;
    $find = false;
    $ext = '.' . pathinfo( $image, PATHINFO_EXTENSION );
    $custom_profile_photo = get_user_meta(um_user( 'ID' ), 'profile_photo', 'true');

    if ( is_multisite() ) {
        //multisite fix for old customers
        $multisite_fix_dir = UM()->uploader()->get_upload_base_dir();
        $multisite_fix_url = UM()->uploader()->get_upload_base_url();
        $multisite_fix_dir = str_replace( DIRECTORY_SEPARATOR . 'sites' . DIRECTORY_SEPARATOR . get_current_blog_id() . DIRECTORY_SEPARATOR, DIRECTORY_SEPARATOR, $multisite_fix_dir );
        $multisite_fix_url = str_replace( '/sites/' . get_current_blog_id() . '/', '/', $multisite_fix_url );


        if ( $attrs == 'original' && file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
            $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo{$ext}";        
        } elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}x{$attrs}{$ext}" ) ) {
            $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$attrs}x{$attrs}{$ext}";
        } elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}{$ext}" ) ) {
            $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$attrs}{$ext}";
        } else {
            $sizes = UM()->options()->get( 'photo_thumb_sizes' );
            if ( is_array( $sizes ) ) {
                $find = um_closest_num( $sizes, $attrs );
            }

            if ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}x{$find}{$ext}" ) ) {
                $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$find}x{$find}{$ext}";
            } elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}{$ext}" ) ) {
                $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo-{$find}{$ext}";
            } elseif ( file_exists( $multisite_fix_dir . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
                $uri_common = $multisite_fix_url . um_user( 'ID' ) . "/profile_photo{$ext}";
            }
        }
    }

    if ( $attrs == 'original' && file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
        $uri = UM()->uploader()->get_upload_base_dir()  . um_user( 'ID' ) . "/profile_photo{$ext}";
    } elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $custom_profile_photo ) ) {
        $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $custom_profile_photo;     
    } elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}x{$attrs}{$ext}" ) ) {
        $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$attrs}x{$attrs}{$ext}";
    } elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$attrs}{$ext}" ) ) {
        $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$attrs}{$ext}";
    } else {
        $sizes = UM()->options()->get( 'photo_thumb_sizes' );
        if ( is_array( $sizes ) ) {
            $find = um_closest_num( $sizes, $attrs );
        }

        if ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}x{$find}{$ext}" ) ) {
            $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$find}x{$find}{$ext}";
        } elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo-{$find}{$ext}" ) ) {
            $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo-{$find}{$ext}";
        } elseif ( file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . "profile_photo{$ext}" ) ) {
            $uri = UM()->uploader()->get_upload_base_url() . um_user( 'ID' ) . "/profile_photo{$ext}";
        }
    }

    if ( ! empty( $uri_common ) && empty( $uri ) ) {
        $uri = $uri_common;
    }

    $cache_time = apply_filters( 'um_filter_avatar_cache_time', current_time( 'timestamp' ), um_user( 'ID' ) );
    if ( ! empty( $cache_time ) ) {
        $uri .= "?{$cache_time}";
    }

    return $uri;
}

推荐阅读