萧涵模板非插件侧边栏显示Gravatar头像最新评论 视频

偶看在半年前写过一篇代码实现WP侧边栏调用最新评论并显示Gravatar头像,那时候并不是专门针对萧涵模板写的。现在,偶看针对萧涵模板,写一篇非插件侧边栏显示Gravatar头像最新评论,修改的流程为:

以下修改基于wordpress3.4.2,萧涵模板3.0版本

一、修改萧涵模板文件夹下的 sidebar.php 找到代码

<div class="block comment"><h3><?php _e('最新评论' ,'xiaohan'); ?></h3>
         	<ul>
             	<?php
                 global $wpdb;
 				$sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,25) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";
 				$comments = $wpdb->get_results($sql);
 				$output = $pre_HTML;
 				foreach ($comments as $comment) {
 					$output .= "\n<li class=\"new\">" . $comment->comment_author . "  评论道:<br /> <a href=\"" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "\" title=\"". $comment->comment_author. ":" . $comment->post_title . "\">" . strip_tags($comment->com_excerpt) ."</a></li>";
 					}
 					$output .= $post_HTML;
 					echo $output;
 				?>
 
                 
             </ul>
         </div>

将其修改为

<div class="block comment"><h3>最新评论</h3>
             <ul>
              <?php
                  global $wpdb;
                  $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID,comment_post_ID, comment_author,comment_author_email,comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,15) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10";
                  $comments = $wpdb->get_results($sql);
                  $output = $pre_HTML;
                  foreach ($comments as $comment) {
                      $output .= "\n<li>".get_avatar($comment, 32)."" . $comment->comment_author . ": <br /> <a href=\"" . get_permalink($comment->ID) . "#comment-" . $comment->comment_ID . "\" title=\"". $comment->comment_author. ":" . $comment->post_title . "\">" . strip_tags($comment->com_excerpt) ."</a></li>";
                  }
                  $output .= $post_HTML;
                  echo $output;
              ?>
              </ul>
          </div>

二、修改萧涵模版文件夹下的CSS文件 style.css 将

.sidebar .block.comment{}
.sidebar .block.comment li{background:url(images/ico-com.png) 0 -245px no-repeat;padding-left:20px;color:#777;border-bottom:1px #d0d4c8 dashed;}
  .sidebar .block.comment li a{color:#436206;}

修改为

.sidebar .block.comment{}
  .sidebar .block.comment li{clear:both;color:#649315;margin-top:5px;padding:0 0 3px 0;border-bottom:1px #ddd dashed;}
  .sidebar .block.comment li img{float:left;margin:5px 8px 0 0 ;}

这样即可实现侧边栏显示Gravatar头像最新评论,具体效果查看偶看博客的侧边栏。

偶看建立了关于萧涵主题修改交流的QQ群:已经解散,大家有问题可以在“问答板块”提问。,欢迎大家加入。有更多关于萧涵主题需要修改的部分,请查看萧涵主题修改

疯狂的英文垃圾评论

偶看帮朋友查看网站,是一个企业网站,很早以前制作的,自从网站上线后,除了在早期添加完产品信息外,就没有去维护。最近需要更新产品信息,但是无法添加,网站后台提示出错。

偶看直接进入网站的FTP将数据库下载分析,因为网站程序多年没有改动,出问题的一般就是数据库了,这个网站是基于ASP+ACCESS架构的。

英文垃圾评论

企业站的中文版数据库有1.73MB,但是英文版的数据库竟然有444.19MB,偶看直接傻眼,这是什么情况,ACCESS的数据库竟然有400多MB,而网站还没被关停。想到早年,偶看建立的一个网站ACCESS数据库超过60MB就因为太耗费资源被主机商给关停了。这400多MB的数据库,偶看下载了一个多小时才搞定。

网站后台提示的错误是因为数据库的产品信息表中有个字段没有填写,将该字段的内容补充完整,网站各项功能恢复正常。

偶看打开英文版的ACCESS数据库,发现数据库如此庞大的原因是有164478条英文垃圾留言,这么多年以来,都没有删除过。偶看直接将该表的数据清空,压缩并修复数据库,完成后,数据库的大小只有1.12MB,真是天差地别。

在国内,垃圾信息一般是往行业站、B2B站、论坛和博客等群发,比较少想企业站群发,而英文垃圾评论则是到处发,信息发布面极广,只要页面中含有英文都可能是其发布信息的对象。而这个企业站对留言没有添加任何的防护功能,连验证码都没有,偶看只能表示无语。

萧涵主题模版将comments修改成评论

萧涵主题模版在标题右边默认显示评论是使用英文“comment”而不是使用,中文字“评论”。其实默认的也是可以的,如果要修改成“评论”的话,只需要进行如下修改:

需要修改的文件均在萧涵主题模版目录下,包括:archvie.php、author.php、category.php、index.php、search.php、single.php、tag.php找到代码

<span class="comments"><?php comments_popup_link('<em>0</em> Comments', '<em>1</em> Comment', '<em>%</em> Comments', 'Comments off'); ?></span>

修改成

<span class="comments"><?php comments_popup_link('<em>0</em> 评论', '<em>1</em> 评论', '<em>%</em> 评论', '评论关闭'); ?></span>

将“comments”修改成“评论”修改完成达到的效果对比

萧涵主题模版评论修改

偶看建立了关于萧涵主题修改交流的QQ群:已经解散,大家有问题可以在“问答板块”提问。,欢迎大家加入。

有更多关于萧涵主题需要修改的部分,请查看萧涵主题修改

评论自动输入wordpress和zblog账号信息

偶看前几天在哼哼猪看到《你是否厌倦了WordPress 留言需要繁琐的输入账号信息?跟我来学自动输入吧!

这个方法偶看测试后,感觉非常好用,wordpress博客都能自动填入名字、邮箱和网址。偶看分析源代码发现,这个代码可以举一反三用于其他博客账号信息的自动输入。这里就给大家演示下zblog博客的添加过程。

一、获取wordpress评论自动输入账号信息的代码

javascript:(function(){document.getElementById('author').value='名字';document.getElementById('email').value='邮箱';document.getElementById('url').value='网址';})()

二、修改author(名字)、email(邮箱)、url(网址)这三个参数的名称,对应分别为inpName、inpEmail、inpHomePage。这是通过查看zblog博客的源代码获取的

三、生成适用于zblog留言自动输入账号信息的代码,请务必将“名字”、“邮箱”、“网址”修改成自己的信息。

javascript:(function(){document.getElementById('inpName').value='用户名';document.getElementById('inpEmail').value='邮箱';document.getElementById('inpHomePage').value='网址';})()

四、在浏览器中保存为书签,在使用时仅需点击书签即可自动填入。

因为是根据文本框的名字来输入信息的,有些独立博客所使用的程序既不是zblog,也不是wordpress,那么就需要手动输入个人信息。不过,偶看目前遇到的独立博客中十个有九个是它们俩的程序,所以做好wordpress和zblog留言自动输入账号信息的书签,基本上可以走遍大部分独立博客。

萧涵模板修改热评文章调用周期为近一年

萧涵模板侧边栏调用的热评文章是所有时间的,偶看博客创立到现在已经七年多了,很多博文已经失去了时效性,而这些旧博文还占领着热评文章的位置,这个时间需要修改为可控制的时间段。

偶看将博客侧边栏热评文章调用周期为近一年。

萧涵主题热门评论

打开模板文件夹下sidebar.php             

        <div class="block"><h3><?php _e('最受欢迎文章', 'xiaohan'); ?></h3>
          	<ul>
              	<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title,post_date FROM $wpdb->posts where post_type <> 'page' ORDER BY comment_count DESC LIMIT 0 , 10"); 
  				foreach ($result as $topten) { 
  				$postid = $topten->ID; 
  				$title = $topten->post_title;
  				$post_date = $topten->post_date;
  				$commentcount = $topten->comment_count; 
  				if ($commentcount != 0) { ?> 
                  <li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>"><?php echo $title ?></a></li> 
  				<?php } } ?>
              </ul>
          </div>

修改为

        <div class="block"><h3>热评文章</h3>
          	<ul>
              	<?php simple_get_most_vieweds(); ?>
              </ul>
          </div>
  

并且在模板文件夹下functions.php文件结尾处添加

// 年度排行
  function simple_get_most_vieweds($posts_num=10, $days=360){
      global $wpdb;
      $sql = "SELECT ID , post_title , comment_count
             FROM $wpdb->posts
             WHERE post_type = 'post' AND post_status = 'publish' AND TO_DAYS(now()) - TO_DAYS(post_date) < $days
             ORDER BY comment_count DESC LIMIT 0 , $posts_num ";
      $posts = $wpdb->get_results($sql);
      $output = "";
      foreach ($posts as $post){
       $output .= "\n<li><a href= \"".get_permalink($post->ID)."\" rel=\"bookmark\" title=\"".$post->post_title." (".$post->comment_count."条评论)\" >".$post->post_title."</a></li>";
      }
      echo $output;
  } 

这样就实现了调用最近一年的热评博文,偶看网络营销博客就是通过这样的方式实现调用的。

关于更多萧涵主题的修改,请查看萧涵主题修改全记录

WordPress英文垃圾评论

偶看博客最近的英文垃圾评论是越来越多了,前段时间一天才几条,26号的时候一天竟然有80多条,真是服了!这个必须要阻止,否则数据库都会被这些评论给挤爆。

本想使用插件的,但是some-chinese-please插件是590天前更新的,版本号:1.0.7,兼容至:3.0.5,这个太久没更新了,那还是使用代码吧。

以下代码基于wordpress 3.4.1,将以下代码复制到functions.php文件中

// 禁止全英文评论
function scp_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "I'm sorry,But you should type some Chinese word (like \"博主真帅\") in your comment to pass the spam-check, thanks for your patience!
  这是天朝,至少要有一个我们天朝的文字,纯表情也不行" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'scp_comment_post');

请注意,如果你使用和偶看一样的萧涵主题,直接复制代码即可。

经过偶看测试,添加该代码后,博客评论使用正常,WordPress英文垃圾评论完全屏蔽,整个世界安静了。

有关萧涵主题修改,请查看萧涵主题修改全记录

Win主机下添加WP评论回复邮件通知功能

因为我的博客所在的虚拟主机是windows的,wordpress无法使用mail函数,所以使用插件完成,经过测试使用Comment Reply Notification和Cimy Swift SMTP,可以很好地支持在WIN主机下WP的评论回复的邮件通知功能,

Comment Reply Notification 版本: 1.4 作者: denishua 最近更新: 598 天前 需要 WordPress 版本: 2.7 或更高 兼容至: 3.0.5

邮件通知被回复评论的作者当评论被回复时 选择 评论者自己选择是否接收邮件(默认选择)

我设置的标题为:您的评论在 [[blogname]] 有一个新的回复!,内容如下:

<p><strong>[pc_author]: </strong></p>

<p><strong>您好</strong>,您之前在文章《[postname]》上的评论现在有了新的回复</p>

<p>您之前的评论是([pc_date] ):<br />[pc_content]</p>

<p><strong>[[cc_author]]</strong>回复您如下([cc_date]):<br /></p>

<p>请点击以下链接查看具体内容:<br />

<a href=”[commentlink]”>[commentlink]</a></p>

<br /><strong>感谢您对 <a href=”[blogurl]”>[blogname]</a> 的关注</strong>

<br /><strong>该信件可以回复, 谢谢.</strong></p>

<p><strong>如果你有任何疑问,请联系我。邮箱:oukannet#gmail.com</strong></p>

我使用的是WordPress 3.3.2版本经过前台测试可以成功发送邮件

当然发送邮件还需要再装一个smtp插件

Cimy Swift SMTP 版本: 2.1.3 作者: Marco Cimmino 最近更新: 124 天前 需要 WordPress 版本: 3.0 或更高 兼容至: 3.3.2

Cimy Swift SMTP 插件设置

使用126邮箱,选择端口25出现:Connection could not be established with host smtp.126.com [ #0](无法与主机smtp.126.com建立连接);选择端口465/994出现Expected response code 250 but got code “553”, with message “553 Mail from must equal authorized user “(预期的响应代码250,但得到了代号“553”,消息“553邮件必须来源于授权用户)。

看来网易的邮箱似乎不太支持,换成Gmail邮箱试试。

Gmail邮箱,用我常用的邮箱出现:Failed to authenticate on SMTP server with username “name” using 2 possible authenticators(对SMTP服务器进行身份验证的用户名“name”失败,其可能使用2个身份验证)。

因为这个常用的账号启用了双重验证,只好重新注册一个gmail账号

 TEST EMAIL SENT – Connection Verified.If you don’t receive the e-mail check also the spam folder.(测试电子邮件发送 – 发送成功。如果你没有收到电子邮件,请检查垃圾邮件文件夹。)

登陆邮箱查看是否收到邮件——成功!这两个插件还是很给力的。

这样网友的留言有人回复时就会收到通知邮件,可以增加网站互动。

屏蔽oblog日志评论的“删除”和“回复”项

依据版本:oblog 4.60 Final Build080827(ACCESS)

谷歌的“网站管理员工具”将日志评论中的“删除”和“回复”的链接归类为“找不到(404)”不知道这是为何,而且该链接还不少。

因为该页面为静态页面,比较好的解决方法就是在代码处屏蔽这两个项目的链接。

一、打开inc/class_blog.asp 第312-313行

     show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=del&id=” & commentid & “””  target=””_blank””>删除</a>”
     show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=modify&re=true&id=” & commentid & “””  target=””_blank””>回复</a>”

改为

     ‘show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=del&id=” & commentid & “””  target=””_blank””>删除</a>”
     ‘show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=modify&re=true&id=” & commentid & “””  target=””_blank””>回复</a>”

在行首添加符号“’”注释该代码即可。

二、效果图

修改前

修改后