Ultimate Member 終極會員 頭像加載慢的問題解決方案。

標籤: 

正在查看 2 個帖子:1-2 (共 2 個帖子)
  • 作者
    帖子
  • 詩語
    管理員
    • 文章數量: 5,925
    @feibisi
    樓主

    不一定都完全適用,只是找到了問題的原因,我們網站啓用了緩存加速和 CSS,js 合併,頭像一直加載很慢。

    讓人無法忍受,問題的原因找到了,Ultimate Member 默認會給頭像圖片添加上時間戳,timestamp 比如: profile_photo.jpg?1432443141 這種形式;

    但是我想要的就是直接調去圖片就行,不然每次都要請求加載一次頭像。

    後台設置沒找到,直接改文件的代碼:

    在 /ultimate-member/core/um-short-functions.php 文件找到 1060 行或者搜索 @get avatar uri

    如下:

    	
    	/***
    	***	@get avatar uri
    	***/
    	function um_get_avatar_uri( $image, $attrs ) {
    		global $ultimatemember;
    		$uri = false;
    		$find = false;
    
    		if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $attrs. '.jpg' ) ) {
    			
    			$uri = um_user_uploads_uri() . 'profile_photo-'.$attrs.'.jpg?' . current_time( 'timestamp' );
    		
    		} else {
    			
    			$sizes = um_get_option('photo_thumb_sizes');
    			if ( is_array( $sizes ) ) $find = um_closest_num( $sizes, $attrs );
    			
    			if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $find. '.jpg' ) ) {
    				
    				$uri = um_user_uploads_uri() . 'profile_photo-'.$find.'.jpg?' . current_time( 'timestamp' );
    			
    			} else if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo.jpg' ) ) {
    				
    				$uri = um_user_uploads_uri() . 'profile_photo.jpg?' . current_time( 'timestamp' );
    			
    			}
    			
    			if ( $attrs == 'original' ) {
    				$uri = um_user_uploads_uri() . 'profile_photo.jpg?' . current_time( 'timestamp' );
    			}
    			
    		}
    		return $uri;
    	}
    	

    修改後:

    
    	/***
    	***	@get avatar uri
    	***/
    	function um_get_avatar_uri( $image, $attrs ) {
    		global $ultimatemember;
    		$uri = false;
    		$find = false;
    
    		if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $attrs. '.jpg' ) ) {
    
    			$uri = um_user_uploads_uri() . 'profile_photo-'.$attrs.'.jpg';
    
    		} else {
    
    			$sizes = um_get_option('photo_thumb_sizes');
    			if ( is_array( $sizes ) ) $find = um_closest_num( $sizes, $attrs );
    
    			if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo-' . $find. '.jpg' ) ) {
    
    				$uri = um_user_uploads_uri() . 'profile_photo-'.$find.'.jpg';
    
    			} else if ( file_exists( $ultimatemember->files->upload_basedir . um_user('ID') . '/profile_photo.jpg' ) ) {
    
    				$uri = um_user_uploads_uri() . 'profile_photo.jpg';
    
    			}
    
    			if ( $attrs == 'original' ) {
    				$uri = um_user_uploads_uri() . 'profile_photo.jpg';
    			}
    
    		}
    		return $uri;
    	}
    

    把時間戳去掉,然後加載獲取的就是靜態圖片,正常啦!

    詩語
    管理員
    • 文章數量: 5,925
    @feibisi
    樓主

    2015-12-29 15.49.43

     

    補個截圖,現在查看就是直接路徑,沒有時間戳。

正在查看 2 個帖子:1-2 (共 2 個帖子)
  • 哎呀,回覆話題必需登錄。

話題信息

  • 當前位於:Ultimate Member
  • 1 條回覆
  • 1 個參與人
  • 最後回覆:<a href="https://bbs.weixiaoduo.com/users/feibisi/" title=" 查看詩語的個人資料" class="bbp-author-link"><span class="bbp-author-name"> 詩語</span></a>
  • 上次活動:<a href="https://bbs.weixiaoduo.com/topic/17527/#post-17529" title=" 回覆至:Ultimate Member 終極會員 頭像加載慢的問題解決方案。">9 年、 2 月前</a>