<span style="color: #000000; font-weight: bold;">function</span> fa_cache_avatar<span style="color: #009900;">(</span><span style="color: #000088;">$avatar</span><span style="color: #339933;">,</span> <span style="color: #000088;">$id_or_email</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span><span style="color: #339933;">,</span> <span style="color: #000088;">$default</span><span style="color: #339933;">,</span> <span style="color: #000088;">$alt</span><span style="color: #009900;">)</span>
<span style="color: #009900;">{</span>
<span style="color: #000088;">$avatar</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">(</span><span style="color: #990000;">array</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"www.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"0.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"1.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"2.gravatar.com"</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"cn.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #000088;">$avatar</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tmp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">(</span><span style="color: #000088;">$avatar</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'http'</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> get_avatar_url<span style="color: #009900;">(</span> <span style="color: #000088;">$id_or_email</span><span style="color: #339933;">,</span> <span style="color: #000088;">$size</span> <span style="color: #009900;">)</span> <span style="color: #339933;">;</span>
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">(</span><span style="color: #990000;">array</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"www.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"0.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"1.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"2.gravatar.com"</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"cn.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #000088;">$url</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$avatar2x</span> <span style="color: #339933;">=</span> get_avatar_url<span style="color: #009900;">(</span> <span style="color: #000088;">$id_or_email</span><span style="color: #339933;">,</span> <span style="color: #009900;">(</span> <span style="color: #000088;">$size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span> <span style="color: #009900;">)</span> <span style="color: #009900;">)</span> <span style="color: #339933;">;</span>
<span style="color: #000088;">$avatar2x</span> <span style="color: #339933;">=</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">(</span><span style="color: #990000;">array</span><span style="color: #009900;">(</span><span style="color: #0000ff;">"www.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"0.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"1.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"2.gravatar.com"</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"cn.gravatar.com"</span><span style="color: #339933;">,</span> <span style="color: #000088;">$avatar2x</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$g</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">(</span><span style="color: #000088;">$avatar</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tmp</span><span style="color: #339933;">,</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">(</span><span style="color: #000088;">$avatar</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"'"</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">)</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$tmp</span> <span style="color: #339933;">=</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">(</span><span style="color: #000088;">$g</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'avatar/'</span><span style="color: #009900;">)</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">7</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$f</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">(</span><span style="color: #000088;">$g</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tmp</span><span style="color: #339933;">,</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">(</span><span style="color: #000088;">$g</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">"?"</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">)</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$tmp</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$w</span> <span style="color: #339933;">=</span> home_url<span style="color: #009900;">(</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$e</span> <span style="color: #339933;">=</span> ABSPATH <span style="color: #339933;">.</span><span style="color: #0000ff;">'avatar/'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$size</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'*'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$f</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'.jpg'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$e2x</span> <span style="color: #339933;">=</span> ABSPATH <span style="color: #339933;">.</span><span style="color: #0000ff;">'avatar/'</span><span style="color: #339933;">.</span> <span style="color: #009900;">(</span> <span style="color: #000088;">$size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span> <span style="color: #009900;">)</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'*'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$f</span> <span style="color: #339933;">.</span><span style="color: #0000ff;">'.jpg'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$t</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1209600</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">(</span> <span style="color: #009900;">(</span><span style="color: #339933;">!</span><span style="color: #990000;">is_file</span><span style="color: #009900;">(</span><span style="color: #000088;">$e</span><span style="color: #009900;">)</span> <span style="color: #339933;">||</span> <span style="color: #009900;">(</span><span style="color: #990000;">time</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #339933;">-</span> <span style="color: #990000;">filemtime</span><span style="color: #009900;">(</span><span style="color: #000088;">$e</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span> <span style="color: #339933;">></span> <span style="color: #000088;">$t</span><span style="color: #009900;">)</span> <span style="color: #339933;">&&</span> <span style="color: #009900;">(</span><span style="color: #339933;">!</span><span style="color: #990000;">is_file</span><span style="color: #009900;">(</span><span style="color: #000088;">$e2x</span><span style="color: #009900;">)</span> <span style="color: #339933;">||</span> <span style="color: #009900;">(</span><span style="color: #990000;">time</span><span style="color: #009900;">(</span><span style="color: #009900;">)</span> <span style="color: #339933;">-</span> <span style="color: #990000;">filemtime</span><span style="color: #009900;">(</span><span style="color: #000088;">$e2x</span><span style="color: #009900;">)</span><span style="color: #009900;">)</span> <span style="color: #339933;">></span> <span style="color: #000088;">$t</span> <span style="color: #009900;">)</span> <span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
<span style="color: #990000;">copy</span><span style="color: #009900;">(</span><span style="color: #990000;">htmlspecialchars_decode</span><span style="color: #009900;">(</span><span style="color: #000088;">$g</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #990000;">copy</span><span style="color: #009900;">(</span><span style="color: #990000;">htmlspecialchars_decode</span><span style="color: #009900;">(</span><span style="color: #000088;">$avatar2x</span><span style="color: #009900;">)</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e2x</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #009900;">}</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">{</span> <span style="color: #000088;">$avatar</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$w</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/avatar/'</span><span style="color: #339933;">.</span> <span style="color: #000088;">$size</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'*'</span><span style="color: #339933;">.</span><span style="color: #000088;">$f</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.jpg'</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$avatar2x</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$w</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/avatar/'</span><span style="color: #339933;">.</span> <span style="color: #009900;">(</span> <span style="color: #000088;">$size</span> <span style="color: #339933;">*</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">)</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'*'</span><span style="color: #339933;">.</span><span style="color: #000088;">$f</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.jpg'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">(</span><span style="color: #990000;">filesize</span><span style="color: #009900;">(</span><span style="color: #000088;">$e</span><span style="color: #009900;">)</span> <span style="color: #339933;"><</span> <span style="color: #cc66cc;">1000</span><span style="color: #009900;">)</span> <span style="color: #990000;">copy</span><span style="color: #009900;">(</span><span style="color: #000088;">$w</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/avatar/default.jpg'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">(</span><span style="color: #990000;">filesize</span><span style="color: #009900;">(</span><span style="color: #000088;">$e2x</span><span style="color: #009900;">)</span> <span style="color: #339933;"><</span> <span style="color: #cc66cc;">1000</span><span style="color: #009900;">)</span> <span style="color: #990000;">copy</span><span style="color: #009900;">(</span><span style="color: #000088;">$w</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'/avatar/default.jpg'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e2x</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$avatar</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">"<img alt='<span style="color: #006699; font-weight: bold;">{$alt}</span>' src='<span style="color: #006699; font-weight: bold;">{$avatar}</span>' srcset='<span style="color: #006699; font-weight: bold;">{$avatar2x}</span>' class='avatar avatar-<span style="color: #006699; font-weight: bold;">{$size}</span> photo' height='<span style="color: #006699; font-weight: bold;">{$size}</span>' width='<span style="color: #006699; font-weight: bold;">{$size}</span>' />"</span><span style="color: #339933;">;</span>
<span style="color: #009900;">}</span>
<span style="color: #b1b100;">return</span> <span style="color: #000088;">$avatar</span><span style="color: #339933;">;</span>
<span style="color: #009900;">}</span>
add_filter<span style="color: #009900;">(</span><span style="color: #0000ff;">'get_avatar'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fa_cache_avatar'</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">)</span><span style="color: #339933;">;</span>
请先
!