Gravatar의 글로벌 아바타를 캐싱하는 목적은 웹사이트 오픈 속도를 높이는 것입니다. Gravatar 공식 웹사이트의 서버가 해외에 있고, 엄청난 GFW로 인해 국내 오픈 속도가 매우 느린 경우가 많습니다. 방법은 willin에서 왔는데, 그의 웹사이트를 더 이상 열 수 없는 것 같습니다
Gravata 전역 아바타를 로컬에 캐시
캐싱 방법
1. 캐시 디렉토리를 생성합니다
워드프레스 루트 디렉토리에 아바타라는 폴더를 생성하고 해당 폴더의 권한을 0755로 설정합니다(0755가 안되면 0777을 시도해보세요).
2. 기본 아바타 설정
적당한 크기(32*32이면 충분)의 기본 아바타를 준비하고 이름을 "default.jpg"로 지정하여 아바타 폴더에 넣습니다.
3. 캐시 코드 추가
다음 코드를 테마의 function.php 파일에 복사하세요
function my_avatar($avatar) { $tmp = strpos($avatar, 'http'); $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp); $tmp = strpos($g, 'avatar/') + 7; $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp); $w = get_bloginfo('wpurl'); $e = ABSPATH .'avatar/'. $f .'.jpg'; $t = 1209600; //設定14天, 單位:秒 if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新 copy(htmlspecialchars_decode($g), $e); } else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg')); if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e); return $avatar; } add_filter('get_avatar', 'my_avatar');
이메일을 통해 Gravatar 아바타가 있습니다
사용자가 Gravatar를 설정했는지 여부도 알아야 하는 경우가 많습니다. 예를 들어 사용자가 Gravatar 아바타를 설정하지 않으면 로컬 기본 아바타가 직접 표시됩니다. 또는 이미 아바타를 설정한 사용자를 방해하지 않고 사용자가 Gravatar 아바타를 설정하지 않았다는 알림을 받게 됩니다. 오늘 공유된 코드는 이메일 주소를 통해 사용자가 Gravatar 아바타를 가지고 있는지 확인할 수 있습니다:
function validate_gravatar($email) { $hash = md5(strtolower(trim($email))); $uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404'; $headers = @get_headers($uri); if (!preg_match("|200|", $headers[0])) { $has_valid_avatar = FALSE; } else { $has_valid_avatar = TRUE; } return $has_valid_avatar; }
Gravatar 글로벌 범용 아바타 캐시 최적화
최적화된 코드는 사용자가 Gravatar 아바타를 설정하지 않은 경우 기본 아바타가 여러 파일에 반복적으로 캐시되어 발생하는 리소스 낭비 및 반복 연결 문제를 피할 수 있습니다. 최적화된 코드는 다음과 같습니다
function my_avatar( $email, $size = '32', $default = '', $alt = '') { $f = md5( strtolower( $email ) ); // 以下代码将头像缓存到wp-content目录下 $a = get_bloginfo('template_url') . '/avatar/'. $f . $size . '.png'; $e = get_template_directory() . '/avatar/' . $f . $size . '.png'; $d = get_template_directory() . '/avatar/' . $f . '-d.png'; // 如果要将头像缓存到当前主题目录下,请将3-5行代码改成: // $a = get_bloginfo('template_url') . '/avatar/'. $f . $size . '.png'; // $e = get_template_directory() . '/avatar/' . $f . $size . '.png'; // $d = get_template_directory() . '/avatar/' . $f . '-d.png'; if($default=='') $default = get_bloginfo('wpurl').'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 = ""; return apply_filters('my_avatar', $avatar, $email, $size, $default, $alt); }
이 방법을 사용하려면 테마의 모든 파일에서 get_avatar 함수를 my_avatar로 바꿔야 합니다.
그리고
get_avatar( $comment,
형식인 경우에는
my_avatar( $comment->comment_author_email
으로 변경해야 합니다. my_avatar 함수는 이메일을 통해서만 보낼 수 있으므로 사용자의 아바타를 검색하려면 위의 경우 첫 번째 매개변수를 이메일 주소로 변경해야 합니다.
더 많은 관련 튜토리얼을 보려면 PHP 프로그래밍 입문부터 숙달까지 전체 비디오 튜토리얼을 확인하세요.

wordpress标签错误的解决办法:1、找到并打开wordpress的“wp-includes”目录下的“class-wp.php”文件;2、修改内容为“$pathinfo = isset( $_SERVER['PATH_INFO'] )?mb_convert_encoding($_SERVER['PATH_INFO'],'utf-8','GBK') : '';”即可。

wordpress后台乱码的解决办法:1、在wordpress的“wp-admin”文件夹下找到“admin.header.php”文件;2、将“charset”属性值设置为“UTF-8”格式即可恢复正常。

你下载的WordPress主题提供的keywords和description这两个meta标签一般都做得很差,或者根本就不提供,这样不利于SEO。本文将指导你如何给主页、分类、页面以及文章页添加单独的Description 和 Keywords。

wordpress乱码的解决办法:1、修改“wp-config.php”文件里的“define(’DB_CHARSET’, ‘utf8′);”为“define(’DB_CHARSET’, ”);”;2、把新数据库的编码设置成“latin1_swedish_ci”;3、以uft8的格式导入备份的数据库文件即可。

wordpress进不去的解决办法:1、把地址栏“wp-login.php”后面的参数删掉,然后重新输入密码登录;2、登录FTP,下载“pluggable.php”文件,然后找到“ADMIN_COOKIE_PATH”并将它替换为“SITECOOKIEPATH”即可。

wordpress不是saas。SaaS是一种软件销售模式,它主要针对云端应用软件,而WordPress是一款CMS系统,它主要针对网站构建和管理。虽然WordPress可以作为SaaS提供服务,但它本质上不是一种SaaS应用。

wordpress是2003年发布的;Matt于2003年5月27日宣布推出第一版WordPress,受到了社区的欢迎,它基于b2 Cafelog并有显著改进;WordPress的第一个版本包括全新的管理界面、模板、XHTML 1.1兼容模板、内容编辑器。

本次PHP中文网整合了相关的视频教程,中文手册,以及相关的精选文章安利给大家,统统免费!!!通过我们分享的视频,可随时随地免费观看教程视频,也不需要迅雷或者百度网盘下载了。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Dreamweaver Mac版
시각적 웹 개발 도구

뜨거운 주제



