关于Gravatar头像被墙的几种解决方法

最近Gravatar头像总是被墙,很是郁闷。之前也遇到这样的情况,后来又好了,现在有不好了,时好时坏,怎么一个提供头像的网站也会出现这种情况?真是杯具!
但是不要灰心,还是有办法的。
1、避免使用“0.gravatar.com”服务器
打开“wp-includes/pluggable.php”文件,在第1702行找到如下代码块:

if ( is_ssl() ) {
	$host = 'https://secure.gravatar.com';
} else {
	if ( !empty($email) )
		$host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
	else
		$host = 'http://0.gravatar.com';
}

改成如下:

if ( is_ssl() )
    $host = 'https://secure.gravatar.com';
else
    $host = 'http://www.gravatar.com';

然后保存覆盖就行了。
2、利用插件修改Gravatar头像地址
如果你觉得第一种修改源文件麻烦的话,可以用Gravatar Fixed插件,其工作原理和第一种方法完全一样,用起来比较方便,如果升级,也不用再修改那么麻烦。
3、将Gravatar头像缓存至博客主机
第一、缓存插件,GravatarLocalCache插件、WP Gravatar Mini Cache插件等;
第二、集成到主题代码。
①新建立一个avatar文件夹,与wp-content文件夹在同一级,设置权限为0755;
②默认的头像图片,命名为:default.jpg,将其上传到avatar文件夹下面;
③以下代码甩到主题的functions.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');

OK,就这么多,怎么做自己看着办吧!

Recently Updated Posts-显示最新被修改的文章

1. 把下面的函数代码扔到主题的 functions.php

// Recently Updated Posts by zwwooooo | zww.me
function recently_updated_posts($num=10,$days=7) {
   if( !$recently_updated_posts = get_option('recently_updated_posts') ) {
       query_posts('post_status=publish&orderby=modified&posts_per_page=-1');
       $i=0;
       while ( have_posts() && $i<$num ) : the_post();
           if (current_time('timestamp') - get_the_time('U') > 60*60*24*$days) {
               $i++;
               $the_title_value=get_the_title();
               $recently_updated_posts.='
  • ' .$the_title_value.'» 修改时间: ' .get_the_modified_time('Y.m.d G:i').'
  • '; } endwhile; wp_reset_query(); if ( !empty($recently_updated_posts) ) update_option('recently_updated_posts', $recently_updated_posts); } $recently_updated_posts=($recently_updated_posts == '') ? '
  • None data.
  • ' : $recently_updated_posts; echo $recently_updated_posts; } function clear_cache_zww() { update_option('recently_updated_posts', ''); // 清空 recently_updated_posts } add_action('save_post', 'clear_cache_zww'); // 新发表文章/修改文章时触发更新

    2. 调用,如在侧边栏

    Recently Updated Posts

      参数说明:8 为展示文章数量,15 指15天内发表的文章除外 转自http://zww.me/archives/25487

      PPT(PowerPoint)幻灯片放映单击不能播放下一页的解决办法

      这两天突然发现ppt幻灯片不能播放下一页了,无论是在PowerPoint中点击“幻灯片放映”按钮还是打开ppsx的放映文件,只能停留在当前页面,而不能自动播放到下一页去。即使重新安装也不能解决。
      PowerPoint幻灯片放映不能播放下一页的解决办法步骤:
       
      1、开始 -> 运行 -> 输入 cmd
      2、输入 regsvr32 hlink.dll,回车(其实在“运行”中输入“regsvr32 hlink.dll”也是一样的)
      3、如果出现“hlink.dll 中的DLLRegisterServer 成功”提示,就说明ok了。再打开ppt播放一下幻灯片,这样就正常了吧?

      wordpress调用评论最多的文章

      把下载这段代码扔进functions.php文件里

      function most_popular_posts($no_posts = 5, $before = '
    • ', $after = '
    • ', $show_pass_post = false, $duration='') { global $wpdb; $request = "SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS 'comment_count' FROM $wpdb->posts, $wpdb->comments"; $request .= " WHERE comment_approved = '1' AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status = 'publish'"; if(!$show_pass_post) $request .= " AND post_password =''"; if($duration !="") { $request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) < post_date "; } $request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts"; $posts = $wpdb->get_results($request); $output = ''; if ($posts) { foreach ($posts as $post) { $post_title = stripslashes($post->post_title); $comment_count = $post->comment_count; $permalink = get_permalink($post->ID); $output .= $before . '' . $post_title . ' (' . $comment_count.')' . $after; } } else { $output .= $before . "None found" . $after; } echo $output; }

      调用代码:

      
      

      可用参数包括文章数,每条文章前面(before =)和后面的内容(after)。
      原文:http://paranimage.com/wordpress-most-commented-pots/

      WordPress显示隐藏的一排编辑器按钮

      WordPress本身隐藏很多编辑器按钮,比如字体大小,风格,添加多媒体按钮等等
      看代码:

          function add_more_buttons($buttons) {  
          $buttons[] = 'fontsizeselect';  
          $buttons[] = 'styleselect';  
          $buttons[] = 'fontselect';  
          $buttons[] = 'hr';  
          $buttons[] = 'sub';  
          $buttons[] = 'sup';  
          $buttons[] = 'cleanup';  
          $buttons[] = 'image';  
          $buttons[] = 'code';  
          $buttons[] = 'media';  
          $buttons[] = 'backcolor';  
          $buttons[] = 'visualaid';  
          return $buttons;  
          }  
          add_filter("mce_buttons_3", "add_more_buttons");  
      

      甩在functions.php文件里面即可。
      看图: