让评论留言链接在新窗口打开

wordpress自带的和个别主题的评论留言链接都是要原窗口打开的,这样很不好。阿柯认为,我们应该尽一切方法对用户展示我们的博客,使博客能很大程度增加曝光度。别人在通过新窗口打开新的链接,而原来的网页并没有关掉,也许读者不会立即关掉,可能会再寻找一些他们需要的东西,这样就增加了博客的PV。

阿柯把在网上搜索整理得到并测试有效可行的方法与大家一起分享:

首先在你的安装目录下面找到wp-includes/comment-template.php文件,

搜索:$return = “<a href=’$url’ rel=’external nofollow’ class=’url’>$author</a>”;

修改为:$return = “<a href=’$url’ rel=’external nofollow’ class=’url’ target=’_blank’>$author</a>”;

这样就OK啦,打开评论者链接试试吧!文章页面评论、则栏最新留言评论等都有效喔。
这个方法修改的是wordpress程序,所以在程序升级以后就不能用了,需要再次修改。网上还有别的方法,我自己感觉还是这个比较简单,其余的是增加js脚本调用的,如果朋友们不喜欢这个方法,可以去搜索其他的方法哦!

让wordpress自带的近期评论显示评论的内容

wordpress默认的在首页显示最新评论的样式是“评论者+被评论的文章标题”。这样显示最新的评论不会给后面的浏览者一种很直观的感觉,如果 想要知道评论的内容则并须要点击改评论进入到被评论的文章里面才可以查看。基于这样的思考,阿柯决定让评论的内容取代被评论的标题显示在首页上!方法如下:

1、用 HA-Notepad2.exe(或写字板) 打开default-widgets.php(不要用记事本打开,会出错)
2、查找“foreach ( (array) $comments” 并且定位到下面的代码:

if ( $comments ) {
foreach ( (array) $comments as $comment) {
$output .= ‘

  • ’ . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x(‘%1$s on %2$s’, ‘widgets’), get_comment_author_link(), ‘comment_ID) ) . ‘”>’ . get_the_title($comment->comment_post_ID) . ‘’) . ‘

’;
}
}

然后将上面代码修改为:

if ( $comments ) {
foreach ( (array) $comments as $comment) {
$output .= ‘

  • ’ . /* translators: comments widget: 1: comment author, 2: post link */ sprintf(_x(‘%1$s 说: %2$s’, ‘widgets’), get_comment_author_link(), ‘comment_ID) ) . ‘”>’ . strip_tags( $comment->comment_content) . ‘’) . ‘

 

’;
}
}

PS:最好是自己对比修改前后的两段代码,然后选择性地修改,这样可以避免一些标点格式在复制粘贴中出错。(注意引号与豆号这些标点符号的格式与原文件是否一致)

修改好之后保存(注意保存的时候因为我们在代码里面加入了中文“说:”,所以编码需要更改为UTF-8的形式,否则上传之后可能出现显示乱码的现象)

把修改好的文件上传替换即可。

这里有个不好的地方是,修改好之后,则栏的最新评论是显示整条评论的内容。对于字数较多的评论,这样显示会使则栏最新评论区变得很拥挤。如果能显示设定字拊数地显示单条评论,这样会使界面好看很多。期待技术型的博友支招。

wordpress 不显示管理员评论

wordpress自带的或者部份主题在最近评论、留言的显示中,访客的留言和博主的回复都一起显示的。如果博主一次性回复很多条留言,那最近评论模块都变成自己的留言了。阿柯最近更换的这款主题也是这样,所以又要折腾把这些自己回复的评论屏蔽掉。

修改的代码如下:
//找到下面这段,可以通过搜索get_comments
$comments=get_comments(array(‘number’=>$limit,‘status’=>‘approve’));
//修改为
$comments=get_comments(array(‘number’=>$limit,‘status’=>‘approve’,‘user_id’=>0));

wordpress自带的最新评论不怎么好用,很多主题都会有自带的最新评论模块,因此要修改的地方也要根据情况来定。

1、wordpress自带最近评论

在wordpress\wp-includes\default-widgets.php中先找到查找$comments=get,在这个里面找到上面要修改的代码(大约在643行,不同版本的wordpress代码会有所不同),按上面要求,加入‘user_id’=>0函数即可。

2、主题带的最近评论

主题带的最近评论代码一般在sidebar.php或者functions.php,找到上述代码修改即可。

修改完后会有个问题,就是这种方法只适用于隐藏登录后发表的回复,如果不登陆,即使用和后台管理员一样的昵称、E-mail在前台回复,依然会显示在最近评论中的。

WordPress实现首页文章列表自动摘要

WordPress在不使用任何的插件的情况下是能在首页实现摘要显示的,但它实现起来不是那么方便,或要自己做文章的中间加;或要修改主题中的标签。总之是不太方便吧。要怎样才能让WordPress自动实现在首页等位置(除了单篇文章的其他页面)只显示指定字节数的摘要,而不用操作其他不关文章的事呢?网上有很多方法,但阿柯试了很多都没有效果。这并不是说别人分享代码有误,只是对个别主题并不适合,但“冰古”这个代码,阿柯试用了几个主题,都适合,兼容性很好!

/**
 * author 冰古
 * link https://wanwp.com
 */
$size = 500;    // 500是显示的字节数,可按照自己的要求修改
$more_link_text = 'more...';    // 显示在摘要后面的提示

add_action('the_content', 'control_content_size');

function control_content_size($content) {
    global $size, $more_link_text;
    if (is_singular()) return $content;
    $content = strip_tags($content);
    $content = cut_str($content, $size);
    $content = '<p>' . $content . '</p><p><a href="' . get_permalink() . "\" class=\"more-link\">$more_link_text</a></p>";
    return $content;
}

/**
 * cut_str用于截断包含中文(或其他多字节?)的utf8编码的字符串
 * @param string $str utf8编码的字符串
 * @param int $len 需要截取的长度(单位是字节)
 */
function cut_str($str, $len) {
    if (!isset($str[$len])) {
        // 判断字符串长度是否已经达到需要截取的长度
        // 未达到时,直接输出原字符串
    } else {
        if (seems_utf8($str[$len-1])) // 判断截断字符串的最后一个字符是否是utf8编码的
            $str = substr($str, 0, $len); // 如果是utf8编码的,直接截断输出
        else { // 如果不是utf8编码的,因为utf8编码的中文是三个字节进行保存的,则判断该字符和周围字符组成的字符串是否符合utf8编码
            if(seems_utf8($str[$len-3].$str[$len-2].$str[$len-1]))
                $str = substr($str, 0, $len-3) . $str[$len-3] . $str[$len-2] . $str[$len-1];

            elseif(seems_utf8($str[$len-2].$str[$len-1].$str[$len]))
                $str = substr($str, 0, $len-2) . $str[$len-2].$str[$len-1].$str[$len];

            elseif(seems_utf8($str[$len-1].$str[$len].$str[$len+1]))
                $str = substr($str, 0, $len-1) . $str[$len-1].$str[$len].$str[$len+1];

            else // 这个else应该不用也是可以的
                $str = substr($str, 0, $len);
        }
    }
    return $str;
}

使用方法:

按照自己的要求修改代码中的$size和$more_link_text
将修改后的代码加入到主题的functions.php中

提示:

如果你之前使用了!–more–标签,在显示中可能有点不好看。

发觉www域名在百度的权重比不带www的高

博客更换域名之后,就一直只绑定不带www的一级域名。按照以前的算法,一级域名在搜索引擎里的权重要高于带www的二级域名的。但在前两星期为了申请百度广告,绑了带www域名后(也不知道申请百度联盟广告为什么要填带www的二级域名),博客带www域名的首页迅速被收录!并且快照新于不带www的一级域名。如图:

如果阿柯的判断正确,那么接下来要不要去掉不带www换成带www的二级域名呢?还是把不事带www域名301跳转到带www域名上?现在是带www转到不带www上的。很纠结!可恨的百度,老是要与谷歌对着干!国内的站长,注定要在两大搜索间做出取舍。要做国内网站,迎百度而弃谷歌是唯一出路。

记得户松松的博客在去掉带www的域名换成不带www后,百度收录为零了!这个事件相信玩博的朋友应该记录犹新。

华夏名网代理新网域名开始涨价

今晚打开电子邮箱的时候,在垃圾邮件箱里收到华夏名网的域名涨价邮件。话说阿柯刚在前一星期给两个本不想再要的域名续了费。刚续费还开始涨了,.COM/.NET/.ORG 续费价格从原来的59块涨至 75元/年,.CN 续费价格将涨至 65元/年。

这年头涨价真的很容易,涨了就涨了,没给你选择的机会,转移域名还麻烦。迫着你要续费。生活中的民生价格涨时都听证一下,虽然是做一下假,听证了还是听涨的多,但至少还可面对媒体边缘一下。这网络上的涨价,完全不用看你脸色,爱用不用。

早知如此,阿柯就让那两个不想要的域名过期算了。过期后再到godaddy注删。后悔啊~~~

wordpress防采集:禁用feed订阅功能

昨晚阿柯和博友星痕一晚上都在折腾这个问题:如何防止自己的原创文章轻易被采集。因为我们俩辛辛苦苦写的文章被一个采集博客“秒收”了。本来网络这东西,转载和采用别人的一些观点等,是很正常的。但这家采集博客,是连着标题、内容一字不漏地把你的文章采到他博客里。而他的博客在百度里有很好的权重,他采集了你的,但搜索同一个关键字,采集站比原创站排名还前很多。或者是直接收采集站而不收原创站的页面。说到底,百度是认为“采集者”是原创了。这下我们这些新博就杯具了,替人做了嫁衣,还死死盼百度终有一天会认可自己。阿柯记得当时百度是放出了阿柯博客的内页的,但仅一两个星期后,又收回了,到现在仅只放首页。太杯具了,百度这点真让人蛋痛。

昨晚经博友星痕的提醒,说这采集的人应该是使用feed订阅采集我们的文章的。因为他开始以为对方是人工复制。结果他设定零晨2点时发布文章,一样被对方“秒收”。采集者不可能通宵不睡来采集我们的文章吧?所以结论只有一个,他是利用插件,通过订阅我们的博客来采集的。

大致认为是这样的原因后,我和星痕就开始折腾禁用wordpress的订阅功能了。星痕通过搜索,找到了以下一段代码:

/**
* Disable Our Feed Urls
*/
function disable_our_feeds() {
wp_die( __('<strong>Error:</strong> No RSS Feed Available.') );
}

add_action('do_feed', 'disable_our_feeds', 1);
add_action('do_feed_rdf', 'disable_our_feeds', 1);
add_action('do_feed_rss', 'disable_our_feeds', 1);
add_action('do_feed_rss2', 'disable_our_feeds', 1);
add_action('do_feed_atom', 'disable_our_feeds', 1);

并将以上这段代码加在当前主题的functions.php之后,成功禁用了wordpress的RSS订阅功能。但阿柯照着上面的方法做,却没有一点效果。苦苦搜索答案,人家再说header.ph中的RSS2.0那段代码也删掉。但阿柯删了,还是不能成功。

之后又在一论坛上见到有人说3.X.X版以上的,把wp-includes目录下feed-*.php全部删除就可以禁用订阅了。但阿柯照做之后,还是没效果。把feed.php,也删掉之后就是出错。阿柯那个郁闷啊,为什么那些方法别人都可以,就自己的不行?就快要放弃的时候,我想到了wordpress中文论坛。搜索有关rss的,结果全是怎么使用feed、解决feed订阅问题的。毕竟,订阅本来就是为了博客的推广,是个很有用的功能,只是被采集者利用此功能做成采集插件了。阿柯转念一想,别人的feed功能出错来求助,我不就是想自己的feed出错吗?这样一想,立即继续翻阅搜索结果主题贴。最终在一个“feed功能出错,求助,已解决”的主题里找到让feed出错的非常简单的方法:在博客根目录建立一个名为“feed”文件夹即可!!

成功禁了feed之后,星痕和阿柯还把博客的右键复制功能也通过代码禁用了。虽然禁用右键只能防君子不能防小人,但禁了右键,他想通过源代码手复制你文章也不容易了。毕竟源码代里的版式都是乱的,他要一篇一篇复制也累死他!!

今来到办公室点击星痕的博客时,发现他把右键禁用代码删除了。可能是性对搜索收录不好吧。但阿柯想了想,禁用右键功能是通过JS代码实现的,这类代码蜘蛛是可以忽略掉的,应该不影响收录。并且阿柯还要看看,禁了wordpress feed rss订阅功能后,我现在发的这篇文章那个采集博客还可不可以“秒收”采集我的。如果不能,证明起了点效果了。期等中……

使用willin的头像缓存代码出错的原因

更换新的主题后,阿柯一直在给主题添加一些自己想要的功能。比如日志归档、标签云集等页面。当然,为了提高页面访问速度,缓存头像还是有必要的。为了减少插件的使用,想用代码实验头像缓存。

找了很久,发现是willin的头像缓存代码不错。使用起来相当简单,就直接在functions.php中加入如下代码就OK了:

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($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’);
以上代码还支持后台评论头像的缓存,使用简单,相当不错。
但阿柯使用时,头像能缓存,页面显示一切正常。但登陆后台时出错,不能登陆。折腾了很久都无法解决。最后求助于主题作者麦子花开。麦子的一句话提醒了我。原来出错的原因是我直接使用记事本编辑代码,在保存时一些编码格式不正确的原因。我在登陆后台,使用主题文件编辑器加入代码时,一切正常!!
PS:该方法虽然能缓存头像,但对于没有设置avatar头像的留言,却不能显示自定义的avatar/default.jpg头像。有待博友支招

godaddy域名作dnspod设置方法

昨晚在停止域名的解析的时候,发现新域名不能访问了。进入主机管理面板一看,发现原先解析正常的新域名出现解析不正常的情况。以为是万网的问题,咨询了客服,主机一切正常,建议我和域名注册商联系。就是为难我了,博客的新域名可是在godaddy注册的。怎么联系国外网站的客服?大惊之下,求救于wordpress群友。在陌凡等群友的指点下,得知解析不正常是因为godaddy的DNS不稳定的原因,并建议我对新域名作dnspod。

之前并不知道dnspod是什么东西。上网一搜索,原来是把godaddy的DNS换成dnspod的,然后域名的解析就直接在dnspod网站这边解析的就得了,不需要再登陆godaddy。

关godaddy域名作dnspod设置方法网上一搜索一大把,并且文章说明、图片都几首一样的。但就我自己昨晚对的godaddy域名作dnspod设置的时候,发现目前很多教程都老套了。因为网站都升级更新了,一些菜单都不一样了。阿柯说说自己昨晚弄的吧。先是到https://www.dnspod.cn注册一下,注册很方便,仅填邮箱和密码,这很人性化。注册后,可以登陆到邮箱,根据收到的邮件对注册的账户激活一下。但实际证明,不激活也是可以的。注册登陆后,添加你要作dnspod设置的域名。添加好之后,你会看到你所添加的域名下方会出现两组主机@记录,记录值分别是:f1g1ns2.dnspod.net.、f1g1ns1.dnspod.net.记下这两组数据,然后到godaddy设置。登陆godaddy,点击域名管理在你的域名列表里面,选择需要换dns的域名,进入域名管理面板。在域名管理面板中,点下拉框,在Nameservers管理项目下,点选Set Nameservers连接,进入DNS设置菜单。填写dnspod中刚才的两组dns服务器地址后,点击确定(ok)即可,在dodaddy的设置完毕,静等生效。在此要注册的是,刚才记录的两组DNS中,后面是有“.”的,在填入godaddyDNS的时候,要把“.”去掉,否则提示不格式不正确而无法更改。在godaddy操作是英文的,看不到可以用谷歌浏览器访问,有自动翻译的功能,很方便,不需要到处找图文教程。到此,godaddy设置完成,等生效了。再回到https://www.dnspod.cn,对你添加的域名作@记录www记录解析主机IP就得了。

对于dnspod的优点很多人都有共识,说稳定,快速。但阿柯实际使用中,并不觉得快速,和原来godaddy默认的DNS差不多,而稳定性则有待在以后的使用中才能体现出来,毕竟是使用免费的,收费应该是快很多了。但这样设置之后,以后解析域名就不用再登陆godaddy了,只登陆https://www.dnspod.cn作解析就OK了。

在GoDaddy为博客注册了新域名kzyblog.com

在博客搬空间之时,就决定在全球最大的域名注册商GoDaddy上为博客注册个新域名。博客换了新家,也应该给新家换一扇新门。对于更换域名对网站会造成的严重影响阿柯在此就不多说了,大家都懂的。阿柯之所以敢冒这么大的风险,一是因为刚转到WP上,流量还不大,旧域名的在百度的收录还处于蛋痛期。当然,旧域名在谷歌收录和权重上体现很好。这点,决定启用新域名之时做301定向。相信这个是更换域名必须要做的,也是最关键的一点吧。大家都就301可以告诉搜索引擎,新旧域名其实是同一个网站,并且以新域名为主。这样使原来收录的链接慢慢转到新域名上,连旧域名在搜索引擎中的权重也可以一起转过来。

如果是在以前,不懂英文的站长们如果想在GoDaddy上注册域名或购买空间,我想最先做的一件事就是搜索图文教程,然后一个个对着注册、购买、使用。但现在根本不用这样。阿柯使用谷歌浏览器的自动翻译功能,轻而易举地在GoDaddy上注册账户,成功购买域名并做解析。

阿柯博客旧域名kzyblog.com是阿柯全名的全拼,新域名就注册了kzyblog.com(还可以吧?)。当然,如果想要好字段的域名可以选择其他后缀的域名,但阿柯对com域名情有独钟,千挑万选,想来想去,只有这个kzyblog.com最适合用在阿柯博客上了。

新域名kzyblog.com现在提交备案中,又通过空间商的审核,只剩信息管理局审核最后一步了,希望一切顺利。待备案通过后,立即启用新域名,并作对下域名作301定向。

有些站长在国内注册域名,为了免去备案的麻烦,就使用国外或港台主机。对此,阿柯不是很赞同。对于一个网站来说,阿柯觉得域名才是最重要的。空间拒绝域名绑定,可以搬,但域名一旦拒绝为你解析,你就算完了!所以阿柯到国外注册域名,使用国内主机。备案虽然麻烦,但阿柯还是会去备案。因为阿柯觉得,一个网站要做得更好,走得更远,首先要把网站合法化。躲,始终不是办法。并且阿柯博客的内容并没有什么不妥的地方。

合法,才能让网站走得更远。希望备案能顺利通过!

wordpress不显示favicon.ico图标的解决办法

原来用Zblog的时候就把PJblog的favicon.ico图标移了过来,在IE和世界之窗浏览器下都没问题。但自从转了WP之后,使用谷歌浏览,不管怎么清除浏览器缓存favicon.ico就是不能显示出来。上网搜索了一下,成功解决。

先挑一张喜欢的图片,调整成16×16大小,通过相关图片制作工具,将其转换为扩展名为.ico,文件名为favicon的图片,即favicon.ico

方法一(这是我一直用的方法,但转WP后失效)

  • 把准备好的favicon.ico图标直接上传到WordPress博客所在的网站空间的根目录
  • 保存更新文件文件,清除浏览器缓存即可以地址栏看到favicon图标

方法二(本人用这方法成功解决问题)

  • 把准备好的favicon.ico图标上传到空间的某个目录(如博客根目录)
  • 编辑主题文件header.php,在<head>和</head>之间添加以下代码:
    1
    2
    <link rel="shortcut icon" href="favicon.ico"  type="image/x-icon" />
    <link rel="Bookmark" href="favicon.ico" />
  • 保存更新文件文件,清除浏览器缓存即实现效果

添加动态favicon图标的方法:

  1. 先挑一张喜欢的gif动态图片,调整成16×16大小,重新命名为favicon.gif
  2. 编辑WordPress主题文件header.php,在<head>和</head>之间添加以下代码:
    1
    <link rel="icon" href="favicon.gif" type="image/gif" >
  3. 保存更新文件,清除浏览器缓存即可以地址栏看到favicon动态图标效果

提醒:有些主机不支持方法一,所以建议使用方法二。