标签归档:wordpress

右侧动态CSS+JS的返回顶部功能代码

有博友在博客上跟张力说我网站右侧的返回顶部功能代码挺漂亮的,他也很喜欢,希望我能分享出来。今天呢?我也就把这个返回顶部的功能代码分享给大家,喜欢的朋友可以自己去手动折腾一下,毕竟生命不息,折腾不止!

右侧动态CSS+JS的返回顶部功能代码

这个返回顶部的功能,我们总共需要用到CSS和JS,下面是操作步骤:

第一步:让网站加载jQuery

如果我们网站已经加载了jquery的话,就可以不需要添加;如果没有的话,我建议可以添加一个百度jquery的CDN,毕竟百度速度挺快的,而且还稳定!

  1. <script src=“http://cdn.bootcss.com/jquery/1.8.3/jquery.min.js” type=“text/javascript”></script>  

第二步:加入CSS代码

我们可以把以下CSS代码加入到你的样式表或者网站中去:

  1. #backtoTop{position:fixed;right:-100px;bottom:0;width:45px;height:45px;border-radius:100%;background-color:#333d46;-webkit-transition:.5s;transition:.5s}  
  2. #backtoTop.button–show{right:0}  
  3. .per{position:absolute;top:0;width:45px;height:45px;color:#fff;text-align:center;font-size:16px;line-height:45px;cursor:pointer}  
  4. .per:before{content:attr(data-percent)}  
  5. .per:hover:before{content:“▲”;font-size:22px;line-height:0;top:20px;position:absolute;right:10px;}  

第三步:加入js代码

这段JS代码是来至大发同学的,非常感谢他。我们将以下JS代码放入到网站的其他JS文件里面,也可以自己新建一个JS文件,把这段代码放进去,这个就取决于大家自己的选择了。

  1. //返回顶部  
  2. var bigfa_scroll = {  
  3.     drawCircle: function(id, percentage, color) {  
  4.         var width = jQuery(id).width();  
  5.         var height = jQuery(id).height();  
  6.         var radius = parseInt(width / 2.20);  
  7.         var position = width;  
  8.         var positionBy2 = position / 2;  
  9.         var bg = jQuery(id)[0];  
  10.         id = id.split(“#”);  
  11.         var ctx = bg.getContext(“2d”);  
  12.         var imd = null;  
  13.         var circ = Math.PI * 2;  
  14.         var quart = Math.PI / 2;  
  15.         ctx.clearRect(0, 0, width, height);  
  16.         ctx.beginPath();  
  17.         ctx.strokeStyle = color;  
  18.         ctx.lineCap = “square”;  
  19.         ctx.closePath();  
  20.         ctx.fill();  
  21.         ctx.lineWidth = 3;  
  22.         imd = ctx.getImageData(0, 0, position, position);  
  23.         var draw = function(current, ctxPass) {  
  24.             ctxPass.putImageData(imd, 0, 0);  
  25.             ctxPass.beginPath();  
  26.             ctxPass.arc(positionBy2, positionBy2, radius, -(quart), ((circ) * current) – quart, false);  
  27.             ctxPass.stroke();  
  28.         }  
  29.         draw(percentage / 100, ctx);  
  30.     },  
  31.     backToTop: function($this) {  
  32.         $this.click(function() {  
  33.             jQuery(“body,html”).animate({  
  34.                 scrollTop: 0  
  35.             },  
  36.             800);  
  37.             return false;  
  38.         });  
  39.     },  
  40.     scrollHook: function($this, color) {  
  41.         color = color ? color: “#000000”;  
  42.         $this.scroll(function() {  
  43.             var docHeight = (jQuery(document).height() – jQuery(window).height()),  
  44.             $windowObj = $this,  
  45.             $per = jQuery(“.per”),  
  46.             percentage = 0;  
  47.             defaultScroll = $windowObj.scrollTop();  
  48.             percentage = parseInt((defaultScroll / docHeight) * 100);  
  49.             var backToTop = jQuery(“#backtoTop”);  
  50.             if (backToTop.length > 0) {  
  51.                 if ($windowObj.scrollTop() > 100) {  
  52.                     backToTop.addClass(“button–show”);  
  53.                 } else {  
  54.                     backToTop.removeClass(“button–show”);  
  55.                 }  
  56.                 $per.attr(“data-percent”, percentage);  
  57.                 bigfa_scroll.drawCircle(“#backtoTopCanvas”, percentage, color);  
  58.             }  
  59.         });  
  60.     }  
  61. }  
  62. jQuery(document).ready(function() {  
  63.     jQuery(“body”).append(‘<div id=“backtoTop” data-action=“gototop”><canvas id=“backtoTopCanvas” width=“45” height=“45”></canvas><div class=“per”></div></div>’);  
  64.     var T = bigfa_scroll;  
  65.     T.backToTop(jQuery(“#backtoTop”));  
  66.     T.scrollHook(jQuery(window), “#FF5E52”);  
  67. });  

一切完成!你再看看是不是网站上就多了一个漂亮的返回顶部。

所有流程和代码都在这里,喜欢的朋友可以直接拿去用!有心的朋友可以帮忙转载,但请千万一定要留下版权信息,咱们版权意识还是要有的嘛!

wordpress插件和非插件实现七牛CDN静态存储加速方法

在上一篇文章,我就写了关于WordPress百度云cdn加速教程方法,并在文中也提到会写一篇wordpress插件和非插件实现七牛CDN静态存储加速方法,今天就为大家带来这篇文章,希望可以帮助那些想让网站速度飞起来的朋友。纯教程文章,希望大家喜欢。

我们知道七牛云存储是由七牛提供的在线存储服务,通过云端接口向企业客户提供网上无限存储空间,和传统的云存储服务(如 Amazon S3)不同,七牛云存储还增加了上传下载传输加速以及富媒体云端处理特性。

七牛云存储支持绑定域名(需要备案域名),全网 CDN 加速(多数据中心+多加速节点,上传下载均加速)、持续在线,可以无限扩展、用户只需按需付费,无硬件投资,并且还可以免费试用3个月。

七牛云存储的主要特点有以下几点:

云存储:可以存储静态文件,包含:图片,音视频,甚至是 CSS,JS,还可以存储其他文件和非结构化数据。

云处理:这是个人认为七牛最强地方,就是支持 图片/音频/视频 等资源在线压缩和转换处理,并且可以通过回调功能自定义数据处理。

云加速:七牛支持上传/下载双向加速,并且单文件上传无大小限制,支持断点续传。分布各地的加速节点,自动选择离用户最近的节点,保证数据上传下载的速度。

API 操作:七牛云存储提供了一系列 API 和 SDK 和示例教程教你接入使用。

缩略图:七牛支持设置不同大小规格的图片,而且是可以自定义尺寸的,根据用户的显示分辨率不同使用不同的图片,达到下载速度和显示体验的最佳搭配,而七牛的缩略图定义非常方便,只需要在七牛的后台 Web 界面进行进行定义即可。

在wordpress中,有一款我们水煮鱼大大做的一款专门的七牛镜像存储 WordPress插件,可以让我们一键实现 WordPress 博客静态文件 CDN 加速,很好的插件,接下来我们来讲讲使用这款插件如何来实现CDN加速的。

插件篇:

1、有帐号的登录七牛云网站,没有帐号的朋友可以点击这里申请:www.qiniu.com

2、我们进入七牛后台后,就来添加资源,如下图:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第一张

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第二张

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第三张

3、我们来添加镜像源,也就是我们想加速的网站,大家看下图:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第四张

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第五张

这里有一点要说明一下:我们再做静态缓存的时候,七牛提供的那个临时域名就会成为跟我们主站一模一样的网站,这个时候我们就需要屏蔽蜘蛛去抓取我们七牛临时域名的网站,我们就需要在我们的存储空间里面上传一个robots.txt进去。如下图:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第六张

需要这个robots.txt的朋友,可以去这里下载:robots.txt

做好上面这些,我们七牛里面的存储空间设置就做好了,接下来我们再来做wordpress里面的插件安装和配置。

4、在wordpress后台 插件 安装插件,在搜索插件里面我们搜索:qiniu,就会看到这个插件,如下图:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第七张

5、安装好插件,我们点启用,然后进入插件的设置区域,大家看一下我的设置:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第八张

大家看一下我们图中有两个key,这个是在哪呢,大家看下图:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第九张

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第十张

图中的AK就是ACCESS KEY,SK就是SECRET KEY,这样大家就知道插件里面怎么设置了吧。我们接着看七牛插件里面的设置:

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第十一张

wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法 第十二张

设置到这里,我们插件版的设置就完了,你再看看你网站,是不是JS、CSS以及图片都静态存储在七牛空间上去了,网站的速度也快了一些呢。下面我们来讲讲代码篇:

代码篇:

代码篇的静态加速方法就非常简单,我们只需要将以下代码添加到我们后台 外观 编辑,右边的函数模板里面,记住一定要是<?php 之后,尽量在做修改之前备份好,以免添加错误,导致网站无法访问。这段代码里面的修改我就不用多说了,只需要把博客域名和七牛域名修改成你的网站域名和七牛域名即可。

  1. //七牛镜像存储
  2. if ( !is_admin() ) {
  3.     add_action(‘wp_loaded’,’c7sky_ob_start’);
  4.     function c7sky_ob_start() {
  5.         ob_start(‘c7sky_qiniu_cdn_replace’);
  6.     }
  7. function c7sky_qiniu_cdn_replace($html){
  8.     $local_host = ‘http://zhangliseo.com’; //博客域名
  9.     $qiniu_host = ‘http://7u2pl7.com1.z0.glb.clouddn.com’; //七牛域名
  10.     $cdn_exts   = ‘js|css|png|jpg|jpeg|gif|ico’; //扩展名(使用|分隔)
  11.     $cdn_dirs   = ‘wp-content|wp-includes’; //目录(使用|分隔)
  12.     $cdn_dirs   = str_replace(‘-‘, ‘\-‘, $cdn_dirs);
  13.     if ($cdn_dirs) {
  14.         $regex  =  ‘/’ . str_replace(‘/’, ‘\/’, $local_host) . ‘\/((‘ . $cdn_dirs . ‘)\/[^\s\?\\\’\“\;\>\<]{1,}.(‘ . $cdn_exts . ‘))([\”\\\’\s\?]{1})/’;
  15.         $html =  preg_replace($regex, $qiniu_host . ‘/$1$4’, $html);
  16.     } else {
  17.         $regex  = ‘/’ . str_replace(‘/’, ‘\/’, $local_host) . ‘\/([^\s\?\\\’\”\;\>\<]{1,}.(‘ . $cdn_exts . ‘))([\”\\\’\s\?]{1})/’;
  18.         $html =  preg_replace($regex$qiniu_host . ‘/$1$3‘, $html);
  19.     }
  20.     return $html;
  21. }
  22. }

以上就是张力给大家带来的wordpress七牛镜像存储插件和非插件实现CDN静态加速的方法,相信小伙伴你已经激动了吧,想去试试了吧,但别急,给我来个赞吧,o(∩_∩)o 哈哈。

注:后面的一段时间,张力将会给大家带来一系列关于wordpress新手入门教程的文章,帮助新人朋友更好的运用wordpress这款程序,期待吧!!!!

推荐阅读:

WordPress百度云cdn加速教程方法,速度起飞

wordpress博客怎么做才可以被百度喜欢

你的wordpress网站一直是高危状态 你知道吗?

因为“他” 我是又爱又恨

熟悉我的朋友都知道,我的张力博客建博之初使用的是zblog asp程序,当初使用的是卢松松的博客模板,后面没用多久,我就给转成wordpress程序了,同时自己也开发了低调与华丽wordpress版本,一晃时间过得很快,博客四年了。

因为“他”  我是又爱又恨

最近,我原本的服务器要到期了,准备给博客重新换换,换成阿里云的弹性虚拟主机。这里提醒一下大家:如果你不懂得服务器的运维工作,最好还是别选择服务器了,天天被人攻击,破解实在是太烦了。

花了几个小时的时间,就把自己网站整体从服务器搬到了虚拟主机上,但是发现使用虚拟主机和服务器还是有很大差别的,特别是速度上,感觉自己的虚拟主机比服务器慢了一倍。

在知道速度没以前那么快的情况下,我做了两种尝试,现在给大家说一下:

第一种:百度云加速

花了半天的时间,改域名DNS啊,等一切弄好了,百度云加速也弄上了,再打开网站发现。我去,速度还更慢了,这尼玛什么情况,果断放弃,还原成最初的形态,就用默认的。

第二种:七牛CDN存储

这个怎么说呢,我自己也测试了一下,让自己本地的JS、图片啊一些上传到七牛空间,做存储调用。我也试过了,速度也没感觉快多少,自己再次果断放弃了!

到最后折腾来折腾去的结果是,有那一份冲突就是把博客从wordpress转到zblog php去,但是看了网上很多资料,也尝试了几次,对于我目前博客这么多文章 评论数的导出和导入,根本没有可行的方法。o(︶︿︶)o 唉 悲催了,只能这样了!

最后说一下:如果看此篇文章的你,熟悉zblog php的朋友,如果你懂得wordpress转zblog php的方法,请联系我,一定重谢,大大滴红包滴,我的QQ:445671696

WordPress程序WP_Image_Editor_Imagick漏洞的解决方法

这几天连续收到阿里云发来的漏洞警告短信,提示我的服务器存在WordPress的WP_Image_Editor_Imagick漏洞。刚找了一下相关解决方法,找到一篇比较详细的文章,按照上面的办法做完,进阿里云控制台再看果然没有报警了。所以把文章转过来,希望能帮到还没修补漏洞的朋友。

20160511152637_59375

———————以下是原文开始:———————

作为一名站长而言,其实早在几天之前就看到了相关资讯新闻:ImageMagick被爆高危漏洞(CVE-2016-3714),黑客等攻击者通过此漏洞可执行任意命令,最终窃取重要信息取得服务器控制权。想来对服务器而言危害程度还是比较大的。

于此同时,今天下午档主收到来自阿里云服务器的安全提示,一个存放在阿里云主机上的WordPress网站程序存在WP_Image_Editor_Imagick漏洞问题,需要登入后台修复补丁。

当然,提供在线修复补丁功能的骑士专业版作为阿里云的收费服务,当然不是免费获取的,不过此服务收费并不贵,如果没有技术能力并且期待官方的安全服务保障的站长,缴费仍是最佳选择。对于档主而言,自然不会因为这个WP_Image_Editor_Imagick漏洞就轻易开通收费服务,因为这个漏洞本来就不是出自WP程序本身,而是服务器环境中安装有ImageMagick且没有升级修复补丁才有。

仔细检查了一遍,云主机系统并没有安装过ImageMagick组件,不过最后为了安全起见,尽管没有安装ImageMagick,既然阿里云提示了漏洞还是应该及时修补一番。

临时解决WP漏洞的方法只需要修改一行代码就好。

1、找到wp-includes/media.php,第2898行;

2、修改下列第一条代码为第二条:

$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick' ,  'WP_Image_Editor_GD' ) );
$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ) );

即把2个库优先级对调即可。

这个修复仅是临时解决方案,更可靠、最直接的方法还是请将wordpress程序升级到最新版本,如果服务器安装有ImageMagick组建同样需要升级至新版本。

最后顺便附上ImageMagick官方提供的临时解决措施:

通过配置策略文件暂时禁用ImageMagick,可在“/etc/ImageMagick/policy.xml” 文件中添加如下代码:

<policymap>

<policy domain=”coder” rights=”none” pattern=”EPHEMERAL” />

<policy domain=”coder” rights=”none” pattern=”URL” />

<policy domain=”coder” rights=”none” pattern=”HTTPS” />

<policy domain=”coder” rights=”none” pattern=”MVG” />

<policy domain=”coder” rights=”none” pattern=”MSL” /></policymap>

相关链接:

ImageMagick(http://www.imagemagick.org/)

wordpress(https://cn.wordpress.org/)

补充内容:

看到应该有不少站长朋友关注这个问题,需要说明一下的是:该漏洞真正的原因与 WordPress 无关,是 ImageMagick 的漏洞,通过修改GD库顺序只能绕过阿里云的安全漏洞检测,如果系统安装有 ImageMagick 请首先解决其自身漏洞,如果服务器或者云主机本身并没有安装ImageMagick组件(检查/etc下是否存在/ImageMagick文件夹可知)那么问题并不大,因为wordpress 、 discuz!等程序一般都是采用GD库来处理的,阿里云出现误报也不是什么稀奇事。

其次,只要安装了 ImageMagick 就会有 convert 程序。检查办法是执行 convert -v 看版本。如果返回 bash: convert: command not found 说明系统没有找到convert程序,表明并没有安装 ImageMagick ,同样无需担忧。

而若安装了  ImageMagick 程序,由于这个漏洞影响 ImageMagick 6.9.3-9 以前所有版本,包括 ubuntu 源中安装的 ImageMagick 。而官方在 6.9.3-9 版本中对漏洞进行了不完全的修复。所以,我们不能仅通过更新 ImageMagick 的版本来杜绝这个漏洞。

可以通过如下两个方法来暂时规避漏洞:

第一,处理图片前,先检查图片的 “magic bytes”,也就是图片头,如果图片头不是你想要的格式,那么就不调用 ImageMagick 处理图片。如果你是 php 用户,可以使用 getimagesize 函数来检查图片格式,而如果你是 wordpress 等 web 应用的使用者,可以暂时卸载 ImageMagick ,使用 php 自带的 gd 库来处理图片。

第二,使用 policy file 来防御这个漏洞,这个文件默认位置在 /etc/ImageMagick/policy.xml。具体修改内容参考前文提供的代码。

所以,ImageMagick漏洞虽然在新闻报道中传言危害极大,但是也是针对大型网站或者广大虚拟主机商而言,一般个人网站的云主机配置并没有安装ImageMagick组件,至少来自军哥的LNMP一键安装包中并没有安装。所以,解决阿里云漏洞检测报告即可!

免插件实现WordPress 隐藏/显示侧边栏

默认显示侧边栏,点击导航最右的“关闭侧边栏”,右侧侧边栏消失,左侧文章主体部分完全显示,并且导航内的文字变为“显示侧边栏”,点击则过程相反。

整体效果明显,如下图所示:

hide-show-sidebar-600x304

首先分别查看自己主题的主体样式是不是id=“primary”,侧边栏又是不是id=“sidebar”,不是则修改之;另外宽度width值也根据页面宽度相应修改!

添加CSS样式

在style.css样式表中添加如下样式:

  1. /**隐藏显示侧边栏**/  
  2. #primary.primary {width: 100%;}  
  3. .sidebar {displaynone;}  

添加JS控制

在网站相应JS文件中添加以下代码:

  1. // 隐藏侧边  
  2. function pr() {  
  3. var R=document.getElementById(“sidebar”);  
  4. var L=document.getElementById(“primary”);  
  5. if (R.className==“sidebar”)  
  6. {  
  7. R.className=“widget-area”;  
  8. L.className=“content-area”;  
  9. }  
  10. else  
  11. {  
  12. R.className=“sidebar”;  
  13. L.className=“primary”;  
  14. }  
  15. }  

添加隐藏/显示边栏按钮

添加按钮

根据需要在页面相应位置添加显示和隐藏按钮,代码:

  1. <ul>  
  2.     <li class=“r-hide”><a>隐藏边栏</a></li>  
  3. </ul>  

按钮样式

以下给出一个美化按钮的参考样式,可以根据需要自行调整:

  1. .r-hide li a {  
  2. color#999;  
  3. line-height26px;  
  4. margin: 0 5px 0 0;  
  5. padding: 0 10px;  
  6. displayblock;  
  7. border1px solid #ddd;  
  8. border-radius: 2px;  
  9. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);  
  10. }  
  11. .r-hide a:hover {  
  12. background#568abc;  
  13. color#fff;  
  14. border1px solid #568abc;  
  15. }  

以上就是免插件实现WordPress 隐藏/显示侧边栏的方法,有需要的朋友可以试试,我博客文章页就使用了,大家可以看看文章页侧边的隐藏边栏试试!

非插件实现wordpress文章点赞功能

功能丰富的wordpress点赞插件不少,但对于要在主题中集成简单文章点赞功能的需求,插件就显得不合适,于是乎非插件实现文章点赞功能的方法就诞生,实现思路是:可以通过ajax实时显示点赞数量,自定义字段保存赞数量,Cookies禁止重新点赞。

具体操作步骤。

1、在当前主题functions.php文件中添加代码:

  1. add_action(‘wp_ajax_nopriv_bigfa_like’, ‘bigfa_like’);  
  2. add_action(‘wp_ajax_bigfa_like’, ‘bigfa_like’);  
  3. function bigfa_like(){  
  4.     global $wpdb,$post;  
  5.     $id = $_POST[“um_id”];  
  6.     $action = $_POST[“um_action”];  
  7.     if ( $action == ‘ding’){  
  8.         $bigfa_raters = get_post_meta($id,’bigfa_ding’,true);  
  9.         $expire = time() + 99999999;  
  10.         $domain = ($_SERVER[‘HTTP_HOST’] != ‘localhost’) ? $_SERVER[‘HTTP_HOST’] : false; // make cookies work with localhost  
  11.         setcookie(‘bigfa_ding_’.$id,$id,$expire,’/’,$domain,false);  
  12.         if (!$bigfa_raters || !is_numeric($bigfa_raters)) {  
  13.             update_post_meta($id, ‘bigfa_ding’, 1);  
  14.         }else {  
  15.             update_post_meta($id, ‘bigfa_ding’, ($bigfa_raters + 1));  
  16.         }     
  17.         echo get_post_meta($id,’bigfa_ding’,true);      
  18.     }       
  19.     die;  
  20. }  

2、在主题的header.php文件的</head>前添加以下代码:

  1. <script type=“text/javascript”>  
  2. $(document).ready(function() {   
  3.     $.fn.postLike = function() {  
  4.         if ($(this).hasClass(‘done’)) {  
  5.             alert(‘您已赞过本博客’);  
  6.             return false;  
  7.         } else {  
  8.             $(this).addClass(‘done’);  
  9.             var id = $(this).data(“id”),  
  10.             action = $(this).data(‘action’),  
  11.             rateHolder = $(this).children(‘.count’);  
  12.             var ajax_data = {  
  13.                 action: “bigfa_like”,  
  14.                 um_id: id,  
  15.                 um_action: action  
  16.             };  
  17.             $.post(“<?php bloginfo(‘url’);?>/wp-admin/admin-ajax.php”, ajax_data, function(data) {  
  18.                 $(rateHolder).html(data);  
  19.             });  
  20.             return false;  
  21.         }  
  22.     };  
  23.     $(document).on(“click”“.favorite”function() {  
  24.         $(this).postLike();  
  25.     });  
  26. });   
  27. </script>  

3、在当前主题的single.php文件的<?php the_content();?>代码下面添加点赞按钮调用代码:

  1. <div class=“post-like”>  
  2.     <a href=“javascript:;” data-action=“ding” data-id=“<?php the_ID(); ?>” class=“favorite<?php if(isset($_COOKIE[‘bigfa_ding_’.$post->ID])) echo ‘ done’;?>”>喜欢 <span class=“count”>  
  3.     <?php   
  4.         if( get_post_meta($post->ID,’bigfa_ding’,true) ){              
  5.             echo get_post_meta($post->ID,’bigfa_ding’,true);  
  6.         } else {  
  7.             echo ‘0’;  
  8.         }  
  9.     ?></span>  
  10.     </a>  
  11.  </div>  

4、在当前主题的style.css文件中添加点击按钮样式(仅供参考):

  1. .post-like{text-align:center;padding:10px}  
  2. .post-like a{ background-color:#21759B;border-radius: 3px;color#FFFFFF;font-size12px;padding5px 10px;text-decorationnone;outline:none}  
  3. .post-like a.done, .post-like a:hover{background-color:#eee;color:#21759B;}   
  4. .post-like a.done{cursor:not-allowed}  

注:需要引用版本为1.10或以上的jQuery。

为什么又换主题了 难道我变了?

今年是2016年了,从我建博至今已经走了第五个年头!时间过得飞快!

不知道现在还有多少人记得曾经的‘武汉seo疯子’,那是我初期做博客时给自己的网名,那时一心的研究和学习SEO技术,也写了很多关于网站优化的文章,至今在百度搜索:武汉seo疯子 ,还有很多文章保留着。而在我建博之初使用的是ZBLOG asp程序,模板也是用的松松大哥的低调模板。

在2012年9月底,我自己开始着使用了一次Wordpress程序,发现这个程序本身比ZBLOG好用多了,于是我决定将自己的博客重新做调整,将博客由zblog转向wordpress,也正是我博客新旅程的开始。到了2012年10月中旬,我就正式启用自己名字拼音的域名:zhangliseo.com,同时也将自己的博客正式更换名字、域名和主题

在同年的十月底,我将我新的主题命名为“高仿低调与华丽Wordpress版本”,免费提供给大家使用,但由于自己技术的不成熟,很多主题上的前端展示效果都是人工来修改代码完成,造成我后期收到非常大的咨询量,虽然给我的工作带来了一定的影响,但我确获得了更多同博客群的朋友。

历时三个月,我自己的wordpress技术也成长了不少,自己将低调主题也弄得更加完善,在2013年的一月份,我将主题进行了出售,当时取名:低调与华丽wordpress终极版,当时定价在50一套,也只是收一个成本费而已!

随着时间的推移,互联网的变化也很快!到了2014年,移动互联网的发展呈现一个喷井式的发展,而当时的网站也都在做着自适应的处理,以便用户可在移动端好方便阅读。那是的我也将自己的博客做了调整,也就有了最终版本的低调主题ZL-didiao,一款自适应的主题模板。在同时期我也给松哥把博客做了调整,帮他也完成了网站的自适应处理!

从2014年到2015年,我都在琢磨着如何给自己网站重新设计一款主题,一款适合自己且简洁明了的主题,在2015年里面我重新开发了另一款主题,名为:简约主题,这是一款我用了更强大的后台主题设置功能做制作的,主要是以SEO优化为主,所以主题本身的结构代码都非常适合SEO优化,做出来没多久,很多朋友希望我出售,我也就出售了,当时定价在229上,很短的时间买了很多套,而且买过的朋友反响还很不错,这着实让我很欣慰!

在这里可能很多朋友在问了:为什么你自己却不使用你所说的简约主题呢?当时我也是使用这款主题的,但很多博友给我提出的是没有原来低调主题那种红色好看,所以我也就顺从了博友的想法,继续使用着低调主题,同时也将低调主题做了最后一次更新,也就是我们最终看到的效果。

今年是2016年,想想无论如何也该把主题换换了,想想我们松松大哥都将博客主题换了,将自己重新再次做了定位,为什么我就不可以呢?所以现在大家所看到的张力博客的样子,也就是我新主题的样子,更加简洁且突出重点。

我为什么要这样设计呢?

主要是我自己是个人在运营这个博客,不像松哥是团队在运营,我的时间和精力有限,所以我将博客首页也就只显示一篇最新的文章,让自己博客的更新频率保持在两三天一更新,这也方便了我,同时也让用户可一目了然的看到新内容,在首页也有最新的其他文章和随机推荐,方便大家阅读更多的文章,同时我这个主题也做好了手机端的主题优化。这款主题可能是我博客的最终网站模样了。

对于新的主题新的模板新的一年,我希望可以更好,也希望可以跟更多博客群的朋友去交流,虽然现在很多朋友都转向了移动端,如:微信公众号、QQ公众号等等(虽然我也有这些,但是我太懒,o(∩_∩)o 哈哈!),但是平台在变,方法不变,像我们经常听到的一句话:万变不离其中!

写到此处,就此歇笔,有事留言!

WordPress非插件实现评论回复邮件提醒通知

WordPress 要想在第一时间知道有人在自己博客留言,然后在第一时间回复留言再第一时间通知邮件者,这就需要WordPress博客拥有邮件通知功能。这个功能可以使用相关插件实现,但是之前试用过几个评论回复邮件通知插件,但都不太满意,主要是不支持所有邮箱类型的提醒,可能与主机也有关系,经过多方测试,终于找到了WordPress 非插件实现评论回复邮件提醒通知的方法(感谢willin大师)。

操作请注意:

1.一定不要使用记事本编辑php文件,否则很可能出现意想不到的错误,推荐使用UltraEdit,Dreamweaver等。

2.如果对于修改代码不是很有把握,请预先备份好原来的文件。

3.复制本文的代码,如果是全角符号,请自行改为半角符号,切记。

评论邮件通知的方法:

1.所有回复都发送邮件通知

登陆博客后台,点击“外观”选项卡下的“编辑”选项进入主题编辑界面,在functions.php文件中的<?php和?>之间添加以下函数即可:

  1. /* comment_mail_notify v1.0 by willin kan. (所有回复都发邮件) */  
  2. function comment_mail_notify($comment_id) {  
  3.   $comment = get_comment($comment_id);  
  4.   $parent_id = $comment->comment_parent ? $comment->comment_parent : ;  
  5.   $spam_confirmed = $comment->comment_approved;  
  6.   if (($parent_id != ) && ($spam_confirmed != ‘spam’)) {  
  7.     $wp_email = ‘no-reply@’ . preg_replace(‘#^www.#’, strtolower($_SERVER[‘SERVER_NAME’])); //e-mail 发出点, no-reply 可改为可用的 e-mail.  
  8.     $to = trim(get_comment($parent_id)->comment_author_email);  
  9.     $subject = ‘您在 [‘ . get_option(“blogname”) . ‘] 的留言有了回复’;  
  10.     $message = ‘  
  11.     <div style=“background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;”>  
  12.       <p>’ . trim(get_comment($parent_id)->comment_author) . ‘, 您好!</p>  
  13.       <p>您曾在《’ . get_the_title($comment->comment_post_ID) . ‘》的留言:<br />’  
  14.        . trim(get_comment($parent_id)->comment_content) . ‘</p>  
  15.       <p>’ . trim($comment->comment_author) . ‘ 给您的回复:<br />’  
  16.        . trim($comment->comment_content) . ‘<br /></p>  
  17.       <p>您可以点击 查看回复完整內容</p>  
  18.       <p>欢迎再度光临 ‘ . get_option(‘blogname’) . ‘</p>  
  19.       <p>(此邮件由系统自动发送,请勿回复.)</p>  
  20.     </div>’;  
  21.       $from = “From: \”” . get_option(‘blogname’) . “\” <$wp_email>”;  
  22.       $headers = “$from\nContent-Type: text/html; charset=” . get_option(‘blog_charset’) . “\n”;  
  23.       wp_mail( $to$subject$message$headers );  
  24.   }  
  25. }  
  26. add_action(‘comment_post’, ‘comment_mail_notify’);  
  27. // — END —————————————-  

2.让访客自己选择是否邮件通知

在functions.php文件中的<?php和?>之间添加以下函数,该函数将会在评论框底部生成要不要收回复通知的选项(本人测试没有成功添加选项,可能与主题有关吧):

  1. /* 开始*/  
  2. function comment_mail_notify($comment_id) {  
  3.   $admin_notify = ‘1’; // admin 要不要收回复通知 ( ‘1’=要 ; ‘0’=不要 )  
  4.   $admin_email = get_bloginfo (‘admin_email’); // $admin_email 可改为你指定的 e-mail.  
  5.   $comment = get_comment($comment_id);  
  6.   $comment_author_email = trim($comment->comment_author_email);  
  7.   $parent_id = $comment->comment_parent ? $comment->comment_parent : ;  
  8.   global $wpdb;  
  9.   if ($wpdb->query(“Describe {$wpdb->comments} comment_mail_notify”) == )  
  10.     $wpdb->query(“ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;”);  
  11.   if (($comment_author_email != $admin_email && isset($_POST[‘comment_mail_notify’])) || ($comment_author_email == $admin_email && $admin_notify == ‘1’))  
  12.     $wpdb->query(“UPDATE {$wpdb->comments} SET comment_mail_notify=’1′ WHERE comment_ID=’$comment_id'”);  
  13.   $notify = $parent_id ? get_comment($parent_id)->comment_mail_notify : ‘0’;  
  14.   $spam_confirmed = $comment->comment_approved;  
  15.   if ($parent_id !=  && $spam_confirmed != ‘spam’ && $notify == ‘1’) {  
  16.     $wp_email = ‘no-reply@’ . preg_replace(‘#^www.#’, strtolower($_SERVER[‘SERVER_NAME’])); // e-mail 发出点, no-reply 可改为可用的 e-mail.  
  17.     $to = trim(get_comment($parent_id)->comment_author_email);  
  18.     $subject = ‘您在 [‘ . get_option(“blogname”) . ‘] 的留言有了回复’;  
  19.     $message = ‘  
  20.     <div style=“background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;”>  
  21.       <p>’ . trim(get_comment($parent_id)->comment_author) . ‘, 您好!</p>  
  22.       <p>您曾在《’ . get_the_title($comment->comment_post_ID) . ‘》的留言:<br />’  
  23.        . trim(get_comment($parent_id)->comment_content) . ‘</p>  
  24.       <p>’ . trim($comment->comment_author) . ‘ 给您的回复:<br />’  
  25.        . trim($comment->comment_content) . ‘<br /></p>  
  26.       <p>您可以点击查看回复的完整內容</p>  
  27.       <p>还要再度光临 ‘ . get_option(‘blogname’) . ‘</p>  
  28.       <p>(此邮件由系统自动发送,请勿回复.)</p>  
  29.     </div>’;  
  30.          $from = “From: \”” . get_option(‘blogname’) . “\” <$wp_email>”;  
  31.          $headers = “$from\nContent-Type: text/html; charset=” . get_option(‘blog_charset’) . “\n”;  
  32.          wp_mail( $to$subject$message$headers );  
  33.   }  
  34. }  
  35. add_action(‘comment_post’, ‘comment_mail_notify’);  
  36.    
  37. /* 自动加勾选栏 */  
  38. function add_checkbox() {  
  39.   echo ‘<input type=“checkbox” name=“comment_mail_notify” id=“comment_mail_notify” value=“comment_mail_notify” checked=“checked” style=“margin-left:20px;” /><label for=“comment_mail_notify”>有人回复时邮件通知我</label>’;  
  40. }  
  41. add_action(‘comment_form’, ‘add_checkbox’);  

3.让博客管理员决定什么情况下发邮件

在functions.php文件中的<?php和?>之间添加以下函数:

  1. /* comment_mail_notify v1.0 by willin kan. (无勾选栏) */  
  2. function comment_mail_notify($comment_id) {  
  3.   $admin_email = get_bloginfo (‘admin_email’); // $admin_email 可改为你指定的 e-mail.  
  4.   $comment = get_comment($comment_id);  
  5.   $comment_author_email = trim($comment->comment_author_email);  
  6.   $parent_id = $comment->comment_parent ? $comment->comment_parent : ;  
  7.   $to = $parent_id ? trim(get_comment($parent_id)->comment_author_email) : ;  
  8.   $spam_confirmed = $comment->comment_approved;  
  9.   if (($parent_id != ) && ($spam_confirmed != ‘spam’) && ($to != $admin_email) && ($comment_author_email == $admin_email)) {  
  10.     /* 上面的判断式,决定发出邮件的必要条件: 
  11.     ($parent_id != ”) && ($spam_confirmed != ‘spam’): 回复的, 而且不是 spam 才可发, 必需!! 
  12.     ($to != $admin_email) : 不发给 admin. 
  13.     ($comment_author_email == $admin_email) : 只有 admin 的回复才可发. 
  14.     可视个人需修改上面的条件. 
  15.     */  
  16.     $wp_email = ‘no-reply@’ . preg_replace(‘#^www.#’, strtolower($_SERVER[‘SERVER_NAME’])); // e-mail 发出点, no-reply 可改为可用的 e-mail.  
  17.     $subject = ‘您在 [‘ . get_option(“blogname”) . ‘] 的留言有了回复’;  
  18.     $message = ‘  
  19.     <div style=“background-color:#eef2fa; border:1px solid #d8e3e8; color:#111; padding:0 15px; -moz-border-radius:5px; -webkit-border-radius:5px; -khtml-border-radius:5px;”>  
  20.       <p>’ . trim(get_comment($parent_id)->comment_author) . ‘, 您好!</p>  
  21.       <p>您曾在《’ . get_the_title($comment->comment_post_ID) . ‘》的留言:<br />’  
  22.        . trim(get_comment($parent_id)->comment_content) . ‘</p>  
  23.       <p>’ . trim($comment->comment_author) . ‘ 给您的回复:<br />’  
  24.        . trim($comment->comment_content) . ‘<br /></p>  
  25.       <p>您可以点击 查看回复的完整內容</p>  
  26.       <p>还要再度光临 ‘ . get_option(‘blogname’) . ‘</p>  
  27.       <p>(此邮件由系统自动发送,请勿回复.)</p>  
  28.     </div>’;  
  29.          $from = “From: \”” . get_option(‘blogname’) . “\” <$wp_email>”;  
  30.          $headers = “$from\nContent-Type: text/html; charset=” . get_option(‘blog_charset’) . “\n”;  
  31.          wp_mail( $to$subject$message$headers );  
  32.   }  
  33. }  
  34. add_action(‘comment_post’, ‘comment_mail_notify’);  
  35. // — END —————————————-  

好了,根据你的需要选择代码使用吧,张力博客( zhangliseo.com )使用的是第一种。

解决WordPress无法发送邮件的方法

有些博主发现自己的WordPress无法发送邮件,这是为什么呢?碰到这种问题要咨询你的空间商,是否支持mail()函数,如果支持的话,是否安装了sendmail或其它邮件系统。

像一些VPS或云主机,是可以自行安装邮件系统的,之前写过一阿里云主机CentOS系统安装sendmail的教程,如果对命令不感冒,可以使用WDCP、AMH、LuManager这些面板自带邮件系统。

如果自己使用的是虚拟主机,也不能发邮件怎么办呢?不要急,无论你使用的Windws主机,还是Linux主机,都可以通过安装邮件插件来实现发邮件。

比较常见的WordPress邮件插件有Configure SMTP、WP-Mail-SMTP、WP-SMTP等,建议使用官方的WP-SMTP插件,比Configure SMTP多出一个发邮件的方式,那就是PHP mail()。

WP-Mail-SMTP怎么配置呢?请按照下边的WP-Mail-SMTP中文汉化图设置,如果使用的是网易126,163邮箱,直接修改邮箱就行了,SMTP host一栏修改为smtp.126.com或smtp.163.com。

解决WordPress无法发送邮件的方法

注意:现在QQ邮箱以及163邮箱的第三方邮件功能改变了,密码处现在是填写授权码,而不是QQ密码,谨记!!!

点击Send Test,收到一封WP Mail SMTP: Test mail to waihuizhan@qq.com的邮件,代表邮件系统配置成功了。喜欢使用代码的博主,可以编辑模板函数 functions.php,添加下边这段。

  1. //SMTP邮箱设置
  2. function mail_smtp( $phpmailer ){
  3. $phpmailer->From = “zhangliseo@qq.com”;//发件人地址
  4. $phpmailer->FromName = “张力博客”;//发件人昵称
  5. $phpmailer->Host = “smtp.exmail.qq.com”;//SMTP服务器地址
  6. $phpmailer->Port = “25”;
  7. //SMTP邮件发送端口, 常用端口有:25、465、587, 具体联系邮件服务商
  8. $phpmailer->SMTPSecure = “25”;
  9. //SMTP加密方式(SSL/TLS)没有为空即可,
  10. //具体联系邮件服务商, 以免设置错误, 无法正常发送邮件
  11. $phpmailer->Username = “zhangliseo@qq.com”;//邮箱帐号
  12. $phpmailer->Password = “***密码****”;//SMTP的授权码
  13. $phpmailer->IsSMTP();
  14. $phpmailer->SMTPAuth = true;//启用SMTPAuth服务
  15. }
  16. add_action(‘phpmailer_init’,’mail_smtp’);

PS:

WordPress一个强大的功能就是邮件提醒,也许有些博主从来没使用过邮件提醒,但这个自动发送邮件的功能确实为博主带来了便利。

1、邮件备份

安装WordPress Database Backup插件,可以自动定时备份数据库,设置备份时间频率和发送到指定的邮箱,不用为网站数据库丢失而担心。

2、密码找回

如果网站密码忘记了,可以在网站/wp-admin下,输入博客注册邮箱,收取邮件激活链接来修改密码。

3、评论回复

wordpress自带了回复功能,在评论功能中有两个管理选项,博客设置→评论→何时发送电子邮件,“有人发表评论时”,“有评论等待审核时”,勾选后,有访问者评论就会邮件通知管理员。

wordpress博客怎么做才可以被百度喜欢

WordPress目前是国内外用户使用最多的独立博客程序,易安装易操作。然而,多年来坊间一直在传百度不喜欢WordPress博客,网站收录也很慢。是否真实不好说,不过百度官方推出的一些WordPress插件却说明着它还是希望博客站点同样有好的收录和排名。虽然某些客观因素无法改变,但是我们可以从自己的博客站点出发,作出必要的修改,让百度搜索引擎对其更加友好。

1442631901217

1.空间的选择。

其实我们搭建WordPress博客用虚拟主机就足够,而选择适合的虚拟主机也有很多参考因素。从搜索引擎优化的角度我们要充分考虑空间的速度和稳定性,一个速度不快、稳定性又不高的主机空间必然会影响到搜索引擎的友好。许多独立博客站长为避免备案的烦恼,都去选择不用备案的海外和香港主机。大部分国外主机的稳定性都是有保障的,但访问速度肯定比不了国内的空间。而香港机房的主机应该是博客站长们很好的选择,既不用备案速度还快。我个人还是挺喜欢恒创主机的,我自己的一些客户也是用的他们的主机,还不错!

2.主题的选择。

安装完WordPress程序大家都会去找一个称心好看的主题,而大部分选择的还是免费分享的主题,因此出现相似度高的“多胞胎“网站就不足为奇。百度搜索引擎蜘蛛是通过网站代码爬行的,使用重复率过高的网站结构或多或少会有些影响,所以即使不使用独立开发定制的WordPress主题,也应该对免费的模板进行适当的修改,展现网站的独特点。当然,主题的重复使用并非是关键因素,这样做只是为了让百度搜索引擎更友好。关于主题,给大家推荐低调与华丽wordpress版简约主题,这两款主题都是经过博主本人不断优化和测试的!

3.插件的使用。

WordPress之所以流行,就在于有丰富的主题和插件。使用WordPress插件,可以实现各种各样的功能和效果。然而,安装过多的WordPress插件带来的最直接影响就是网站访问速度慢。这是因为每当访客访问网站网页的时候,网站说使用的大部分插件都会增加一次服务器访问请求,这样插件一多就会影响网页的打开速度。所以,这里建议尽量精简使用插件,只留下必要的插件。尽可能的将一些功能直接写入到wordpress函数模板里面!

4.SEO优化。

大部分人的开博客都只是随心写下一些文字,但如果想让自己的WordPress站点在百度上有排名,SEO手段必不可少。网站优化是一个系统的技术活儿,包括站内站外众多优化事项。现在很多的SEO行业网站论坛和书籍都对网站优化进行了系统的介绍,本文就不再详细列出。即使业余的站长,也应该懂一些基本的网站优化方法,至少也要做到百度愿意收录你的网站。

古语云:知己知彼百战不殆。和任何类型网站一样,要想让百度搜索引擎喜欢你的WordPress博客,就应该多去熟悉搜索引擎收录排名的原理和影响因素,了解并弥补网站建站中的不足。

相关阅读:

我变样子了,你还认识我吗?

低调与华丽wordpress再次升级ZL-didiao 1.1版

对于Zblog和WordPress程序的一点个人看法

教wordpress新手朋友做博客的SEO优化

我变样子了,你还认识我吗?

从建博至今,慢慢走来,已经三年了!不细数不知道,博客已经三周岁了!很早以前就在打算着重新设计自己的博客主题,但是一直没有思路。这次趁着博客三周年,也给博客换换样子!我变样了,博友们,你们还认识我吗? 新的博客主题,我花了一个月的时间来打磨和优化,半个多月的时间来设计后台功能,做到简洁清爽,功能却不简单!所以这款主题也被我命名为:简约(简洁而不简单的意思)。并且为了更好的移动端效果,我也花了很多时间去揣摩优化,现在模板的移动端效果已经做得非常细致了,大家可以用手机访问本站看看效果!

简约主题

下面给大家详细介绍一下简约这款主题的功能,能认真看完的朋友都是很不错的哦!

主题功能介绍:

1、主题兼容各大浏览器,如IE8、IE9、谷歌、火狐、360、QQ浏览器、UC浏览器!(暂不兼容IE7以及以下版本浏览器,如果有强迫症的朋友可以略过!)

2、主题完美自适应各种终端设备,如:PC、手机、pad等设备(大家可用手机查看本网站看效果!)

3、主题自带SEO功能,无须添加任何SEO插件!

4、主题自带图片延迟加载功能,让其页面打开速度更快!

5、主题自带浏览数功能,省去安装浏览数插件!

6、主题自带评论邮件回复功能,增加博客互动性!(需空间支持mail函数,现大部分Linux系统都支持的!)

7、主题自带缩略图裁剪功能,再也不用担心图片变形了!

8、主题自带四个页面模板,包括:无侧边页面、归档页面、便签页面、留言页面

9、主题支持自定义菜单,并支持二级下拉菜单!

10、主题自带四种颜色,可后台选择更换!

11、主题自带四个独立侧边栏:首页、列表页、页面、文章页!

12、主题自带十五个小工具,完全满足你的设置需求!

13、主题自带邮箱订阅列表,如果你有,可设置邮箱订阅!

14、主题可自由选择任意侧边版块滑动显示!

15、主题可自由选择是否开启缩略图!

16、主题可自由上传logo、Favicon以及更换背景图片!

17、主题自带侧边客服系统,可自己填写社交信息以及上传微信图片!

18、主题列表支持摘要显示或默认截取数字显示!

19、主题支持Font Awesome小图标,具体的可以看这里:http://fontawesome.io/icons/

20、主题支持百度站内搜索,如果你有,可以在后台填写百度站内搜索代码来更替默认搜索!

21、主题自带顶功能,可在后台自由选择是否开启顶功能!

22、主题自带评论表情,可后台自由选择是否开启评论表情功能!

23、主题自带关闭或开启评论功能,让你的博客站点立马成为一个资讯站点!

24、主题自带了顶部幻灯片和底部个性信息展示,可后台自由选择是否开启顶部和底部!

25、主题增加了四个广告设置,方便设置网站广告,如不需要,可选择关闭!

部分设置截图:

jianyue1 jianyue2

购买方式

能看到这里的朋友都是很不错的!这款主题张力将进行收费出售,定价在229/套,仅出售50套,凡购买简约主题的朋友都将进入专门的“简约主题售后群”,同时张力也将在群里分享一些有用的资料供大家学习! 如果你喜欢这款主题,可以点击下面的立即购买,付款给我,我将把主题发给你,并邀请你进入售后群来交流!

已购买使用的站点:

Nhzy资讯: http://www.nhzy.org

冷月博客: http://www.lengyuevip.com/

宋俊乐博客:http://www.songjunle.com/

Nhzy资讯: http://www.nhzy.org

江为向博客:http://www.jiangweixiang.cn/

杨玉强博客:http://www.yangyuqiang.com/

楼上噪音:http://loushangzaoyin.com

爱博客:http://www.2bok.cn/

你的wordpress网站一直是高危状态 你知道吗?

首先申明这是一篇技术文章,不愿意看技术文章的朋友可以略过!

大家知道我博客一直使用的是wordpress程序,而且主题也是我自己做的ZL-didiao主题,做为博客主,我们总在担心我们的博客网站是否安全,同时我也一直再找一个比较好的安全防护方法。我们一直都以为黑客们不知道我们网站的用户名,就算知道后台登陆地址也没事,直到今天才发现,使用WordPress建站的博主们的用户名都是可见的,除非采取了其他措施来保护。

大部分博主的后台路径都是:http://网站地址/wp-login.php。

大部分博主的后台登陆用户名都可以这样查看到:

http://网站地址/?author=1,多用户的可以把1变为2、3、4、5等,就可以在地址栏查看到各个用户名。

知道了后台登陆地址和用户名后,剩下的就是用暴力破解密码了,如果没有任何防护的话,成功指数相当高。

为了保障我们的后台安全,建议安装一个Limit Login Attempts插件,来限制强行登陆的次数,同时修改后台登陆地址和隐藏我们的用户名。

修改后台登陆地址:

我在网上找了很多方法,大部分就是在所用主题的functions.php文件的?>前面添加以下代码即可实现。

add_action(‘login_enqueue_scripts’,’login_protection’);

function login_protection(){

if($_GET[‘word‘] != ‘press’)header(‘Location: http://网站地址/’);

}

但经本人测试,在本地WIN主机测试是成功的,但是上传到Linux服务器却发生错误:Cannot modify header information,据说是因为header()要求太苛刻。

本人觉得既然是header()出错,而且它只是用来跳转而已,何不用JS实现跳转呢,于是修改为:

function login_protection(){

if($_GET[‘word’] != ‘press’){

$url = “http://网站地址”;

echo “<script language=’javascripttype=’text/javascript’>”;

echo “window.location.href=’$url’”;

echo “</script>”;

}

}

add_action(‘login_enqueue_scripts’,’login_protection’);

上传到服务器一测试,果然成功了,登陆http://网站地址/wp-login.php会直接跳转到我们指定的页面,要登录必须是http://网站地址/wp-login.php?word=press才行,而word、press、跳转的页面都是我们自己设置的,而且word、press只有自己知道,大大提高了其安全性。

隐藏用户名:

这个也同样道理,直接将“作者文章列表(?author=1)”跳转到指定的页面,这样就可以做到隐藏用户名的目的。

同样在所用主题的functions.php文件的?>前面添加以下代码:

add_filter( ‘author_link’, ‘my_author_link’ );

function my_author_link() {

return home_url( ‘/’ );

}

其中home_url( ‘/’ )是跳转到主页,这里也可以设置为指定的页面,比如grda页面,可以为home_url( ‘grda’ )。

安装了限制强行登录次数的插件、修改了后台登陆的地址和隐藏了用户名,我相信这个时候的系统应该还是挺安全的。

写给哪些用wordpress程序做站的朋友们,为了你的网站安全,千万不要错过看了!