워드 프레스 의 프로필 캐 시 와 프 록 시 캐 시 업데이트 방법 을 자세히 알 아 보 세 요.

5059 단어 WordPress캐 시
wordpress 댓 글 의 프로필 사진 은 Gravatar 의 프로필 사진 서비스(Gravatar 공식 등록 주소:http://en.gravatar.com)사용자 의 캐 시 프로필 사진 은 일반적으로 고정 적 으로 변 하지 않 기 때문에 우 리 는 프로필 사진 을 로 컬 에 캐 시 하여 우리 사이트 의 방문 속 도 를 높 일 수 있 습 니 다.
내 wordpress avatar 디 렉 터 리 의 프로필 캐 시:
201631141915179.jpg (280×244)
wordpress 프로필 캐 시 기능 설정 방법
우선 루트 디 렉 터 리 아래 폴 더 avatar 를 만 들 고 권한 755 입 니 다.기본 프로필 사진(default.jpg)을 넣 으 면 프로필 사진 이 없 는 동 화 는 기본 으로 사용 합 니 다.코드 는 다음 과 같 습 니 다:

function my_avatar( $email, $size = '32', $default = '', $alt = '') {
 $f = md5( strtolower( $email ) );
 $a = WP_CONTENT_URL . '/avatar/'. $f . $size . '.png';
 $e = WP_CONTENT_DIR . '/avatar/' . $f . $size . '.png';
 $d = WP_CONTENT_DIR . '/avatar/' . $f . '-d.png';

 if($default=='')
  $default = 'http://www.wpnoob.cn/avatar/default.jpg'; //                  
 
 $t = 2592000; //      30 ,     : 
 if ( !is_file($e) || (time() - filemtime($e)) > $t ) {
  if ( !is_file($d) || (time() - filemtime($d)) > $t ) {
   //        
   $uri = 'http://www.gravatar.com/avatar/' . $f . '?d=404';
   $headers = @get_headers($uri);
   if (!preg_match("|200|", $headers[0])) {
    //     ,             
    $handle = fopen($d, 'w');
    fclose($handle);

    $a = $default;
   }
   else {
    //           
    $r = get_option('avatar_rating');
    $g = 'http://www.gravatar.com/avatar/'. $f. '?s='. $size. '&r=' . $r;
    copy($g, $e);
   }
  }
  else {
   $a = $default;
  }
 }
 
 $avatar = "<img alt='{$alt}' src='{$a}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
 return apply_filters('my_avatar', $avatar, $email, $size, $default, $alt);
}

테마 functions.php 파일 에 위 코드 를 추가 합 니 다.
프로필 주소 가 져 오 는 getavatar 함수 가 my 로 바 뀌 었 습 니 다.avatar 。예외 가 있 습 니 다.functions.php 댓 글 목록 함수 중:

get_avatar( $comment
변경 필요:

my_avatar( $comment->comment_author_email
왜냐하면 myavatar 함 수 는 이메일 을 통 해 사용자 의 프로필 사진 을 찾 을 수 있 기 때문에 상기 상황 에서 첫 번 째 인 자 를 이메일 주소 로 바 꿔 야 합 니 다.
get_avatar 함수 소개:
위의 방법 으로 간단 하고 편리 하 네요.하지만 한 가지 더 주의해 야 할 것 이 있 습 니 다.프로필 사진 을 호출 하 는 곳 에 서 는 get 을 사용 하 는 지 확인 해 야 합 니 다.avatar 함수 로 완성 되 었 습 니 다.보통 다 그래 요.옛날 테마 만 아니에요.아니면 고치 면 돼.
다음 과 같이:

<?php
 echo get_avatar( $comment->comment_author_email, $size = '48', $default = get_bloginfo('wpurl') . '/avatar/default.jpg' ); 
?>

프 록 시(squid)에서 css/js 파일 캐 시 를 업데이트 하 는 방법
wordpress 에 css 나 js 파일 을 추가 합 니 다.우 리 는 보통 이 네 가지 함 수 를 사용 합 니 다.
  •  wp_enqueue_script()
  •  wp_enqueue_style()
  •  wp_register_script()
  •  wp_register_style()
  • 함수 에서 css/js 버 전 번 호 를 정의 할 수 있 습 니 다.css/js 파일 을 업데이트 할 때 브 라 우 저의 캐 시 를 알 수 있 도록 기본 버 전 번 호 는 wordpress 버 전 번호 입 니 다.버 전 번 호 는 css/js 전체 경로 뒤에 연 결 됩 니 다.일반적으로 버 전 번호 가 변경 되면 css/js 가 불 러 온 스타일 의 전체 URL 도 변 경 됩 니 다.브 라 우 저 는 URL 변경 이 css/js 파일 을 다시 요청 하 는 것 을 발견 하면 최신 css/js 파일 을 불 러 올 수 있 습 니 다.
    그러나 많은 프 록 시 소프트웨어(예 를 들 어 squid)는 지원 하지 않 습 니 다."?""번호 형식의 cache,우 리 는 역방향 대 리 를 사용 하여 cache 우리 의 사 이 트 를 사용 할 때,특히 squid 3.0 이후 에 이미 가지 고 있 지 않 기 시 작 했 습 니 다."번호 의 url 이 캐 시 되 었 습 니 다."그래서 우리 가 squid 의 캐 시 기능 을 사용 하려 면 반드시 제거 해 야 합 니 다."squid 대리상 의 캐 시 를 업데이트 하 는 것 은 파일 이름 을 수정 해서 만 가능 합 니 다.
    다음은 wordpress 에서 버 전 번호 에 대한 제 어 를 통 해 js/css 파일 이름 을 수정 하여 프 록 시 소프트웨어 에서 캐 시 목적 을 달성 할 수 있 는 것 을 소개 합 니 다.
    1.테마 코드 functions.php 파일 에 다음 코드 를 추가 합 니 다.
    
    /** 
     * Description: wordpress   (squid)   css/js       
     * Author:wordpress   
     * Author URI: http://www.wpnoob.cn/
     */
    function ds_filename_based_cache_busting( $src ) {
     //       css/js      
     if ( is_admin() )
     return $src;
     //            ”.“    
     return preg_replace(
     '/\.(js|css)\?ver=(.+)$/',
     '.$2.$1',
     $src
     );
    }
    add_filter( 'script_loader_src', 'ds_filename_based_cache_busting' );
    add_filter( 'style_loader_src', 'ds_filename_based_cache_busting' );
    
    apache 서버 를 사용한다 면 루트 디 렉 터 리 의 htaccess 파일 에 추가 하 십시오:
    
    <IfModule mod_rewrite.c>
       RewriteEngine On
       RewriteBase /
     
       RewriteCond %{REQUEST_FILENAME} !-f
       RewriteCond %{REQUEST_FILENAME} !-d
       RewriteRule ^(.+)\.(.+)\.(js|css)$ $1.$3 [L]
    </IfModule>
    
     
    nginx 서버 설정 은 다음 과 같 습 니 다:
    
    location ~ ^(.+)\.(.+)\.(js|css)$ {
      alias $1.$3;
    }
    

    좋은 웹페이지 즐겨찾기