Category: 技术分享

  • 如何打造一个安全的WordPress站点

    现在全球有超过33%的网站在使用WordPress程序,这意味着,WordPress已经是关注的焦点,那么会被更多的研究,读源代码,测试网站安全性。

    虽然WordPress程序一致在更新,但过一段时间WordPress官方还是会发布新版的WordPress程序,基本上是小版本更新,主要是修复已经存在且被验证过的安全问题。

    而且经常有使用WordPress程序的朋友问,说网站手机版会跳转到一些乱七八杂的网站,网站根目录及一些目录出现一些不规则的目录及文件,在根目录的index.php和wp-config.php出现一些类似乱码的代码。这些都表明,WordPress网站并没有想象中的那么安全。

    所以,打造一个安全,稳定运行的WordPress是一件非常重要的事情,Wopus做了这么多年WordPress相关服务,今天写下这篇文章,把一些经验分享给有需要的朋友。

    1,确保使用云主机;在过去几年这是不现实的,但是最近两三年,云主机价格已经降低很多了,降低到可以接受的价格了,另外就是,使用共享主机,你可以确保自己的账户安全,但没办法保证共享主机其他主机账户的安全,虽然会相互隔离,但这增加了不稳定的风险。

    2,使用安全的域名DNS;域名DNS一致都是不被重视的,但确实网站稳定运行的重要一环,有兴趣的朋友可以去新浪微博搜索一下域名DNS故障,看看能搜索出来多少信息。比较出名的域名DNS服务商:一般域名注册商都提域名DNS服务,但这些并不是非常稳定,又或者不是很好用。dnspod.cn是一个,腾讯云使用的也是dnspod.cn,阿里云自己研发了dns,还开发了收费的DNS服务器。从某一个角度来说,所有的域名提供商都希望卖域名而不提供域名DNS服务,毕竟优质的DNS服务是需要很大投入的。

    3,从正确的途径购买或者下载使用WordPress主体及插件。正确的途径包含但不仅有:收费WordPress主题/插件作者官网,WordPress.org;尽量不要从第三方网站购买主题(淘宝是最大的源头,购买的主题没售后,而且没升级的保证,没升级的保证就没有安全的保证)。

    4,及时升级WordPress程序,主题及插件。

    5,WordPress插件如果超过6个月没更新,大概率这款插件作者已经不会再更新了,所以,需要删除这个插件,然后找一个功能类似的插件替换。WordPress主题也有类似的问题。

    一个比较普遍的问题是:WordPress已经发布超过10年了。国内最早一批的网站时2011/2012年制作的,而且是展示为主,这样的网站有几个问题比较严重:

    使用的主题/插件大多数已经没有更新,因为日常疏于管理,WordPress程序也没更新。但因为安全我呢提不得不更新,发现最新版的WordPress程序已经不能运行之前使用的模板了,但是模板也已经没更新,所以,如果更细网站,相当于重新做一个网站。

    但不更新,网站随时有可能被攻击,所以,这样的境地非常尴尬,但却是很多网站遇到的问题。

    所以,一旦出现不兼容的情况,就要找人看是否有修复兼容性的可能,如果没有,就要及时寻找新的主题了,所以,模板选择是一件非常重要的事情。

    6,安装WordPress安全插件,Wopus之前推荐过一款WordPress安全插件,文章在这里: https://www.wopus.org/plugins/needed-plugins/3777.html 。

    7,最后分享一下网站已经被植入恶意代码的修复思路:

    a,如果是共享主机,就要先联系主机提供商,问问是否是服务器的问题,如果不是,就可以开始检查网站代码了;

    恶意的代码一般分为两种,一种是恶意文件,这些文件一般分为两类:一类是完全不规则的命名,一类是类似WordPress系统默认文件,都是PHP结尾的,所以一定要检查清楚。

    另外一种就是恶意代码,会插入到已经存在的系统php文件里,这个也是不规则的,但wp-config.php,首页index.php肯定会被插入恶意代码。

    b,接着继续检查WordPress主题和插件,这两个是最容易的出问题的,因为主题和插件来源有不可控,所以最容易出问题,还是上面的一个原则,尽量选择来路正常的,插件一定要选择wordpress.org官方收录而且一直更新的。

    c,当然WordPress程序是一定要更新到最新版的。

    d,这里说回最开始,恶意代码如果非常多的,比如使用安全插件处理也非常麻烦,比如要有几百个,这样就要重装网站了,重装网站只需要备份一下内容:

    • 数据库;
    • wp-content目录下的所有主题,插件和uploads目录。
    • 备份所有的主题和插件只是为了做检查对比使用,不能上传到重置后台的主机对应目录上,而uploads目录就是要压缩上传的,所以需要把uploads目录下所有目录都检查清楚,uploads图片目录只能有图片,不会有任何以php结尾的恶意文件。

    接着就是重置主机,重新安装WordPress,导入数据库,上传检查后的uploads目录,然后对比主题和插件,有问题的检查就不要用了,主题也是。

    如果是独立主机,也需要做一些事情,这个和选择主机商也有关系,Wopus以后会写一篇独立云主机安全建议的文章。

    整个过程就是这样,如果恶意文件比较少,可以用安全插件扫描,对比,加固或者删除。

    从整个过程来源,养成良好的习惯,是更重要的事情。

    如果您的网站需要安全检查或者需要清理恶意代码,Wopus提供收费服务,具体可以直接点击这个链接付款并联系我们:https://www.wopus.org/wordpress-security-check-and-suggestion

  • WordPress多格式视频播放插件Easy Video Player使用教程

    前几天分享了一款WordPress支持多视频格式播放的插件Easy Video Player,今天把这款插件的基础使用教程也翻译了一下,分享给有需要的。

    Easy Video Player插件官方地址:https://wordpress.org/plugins/easy-video-player/

    1,插件基础配置

    在插件安装并启用之后,要在设置/Easy Video Player里设置勾选:Enable jQuery,这样可以允许插件使用WordPress程序的jQuery library。

    2,常规短代码

    a,在创建的页面或者文章里,输入以下代码,就可以播放视频了:

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4"]

    备注:http://example.com/wp-content/uploads/videos/myvid.mp4,这个是视频地址,可以是上传到自己WordPress网站上的,可以是第三方网站支持外链播放的视频地址。。

    b,视频自动播放代码

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4" autoplay="true"]

    c,自定义视频播放尺寸代码

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4" width="500"]

    备注:在上面的播放段代码中,只设置了播放器的长,而没有设置高,因为这个插件的的播放器窗口是约束比例的,设定了宽度,会自动设置播放器窗口的高度。

    d,视频播放器窗口默认比例

    默认的约束比例是:0.417。拿上面的宽度是500PX来举例,高度应该是:208PX;

    如果不想详细的写宽高,直接写比例也行的,具体代码是:

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4" ratio="0.345"]

    e,播放器皮肤

    播放器是有默认皮肤的,可以通过段代码覆盖,具体的代码是:

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4" class="fp-minimal"]

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4" class="fp-playful"]

    默认的播放器皮肤是这样的:

    替换class后面的fp-minimal和fp-playful,可以修改。

    f,视频循环播放

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/myvid.mp4" loop="true"]

    g,视频自定义播放页面图片功能

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/vid1.mp4" poster="http://example.com/wp-content/uploads/images/poster.jpg"]

    http://example.com/wp-content/uploads/images/poster.jpg,这个就是默认播放首页的图片地址,这个尺寸要和播放器尺寸一致。

    h,视频分享功能

    视频分享功能默认是可用的,如果不想用,可以用如下的代码:

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/vid1.mp4" share="false"]

    因为是国外的视频播放插件,分享功能也都是国外社交媒体,建议还是禁止为好。

    i,可修改的播放器插件参数

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/vid1.mp4" class="no-toggle"]

    • no-toggle:视频播放按钮在视频的下方
    • fp-slim:时间线在鼠标悬停的时候可以看到,也可以随意拖动,但确保视频速度能跟得上
    • fp-full:视频全屏按钮在视频时间线边上
    • no-buffer:增加视频缓存按钮
    • fp-mute:增加静音按钮
    • no-volume:隐藏音量按钮

    以上参数,是可以多个参数一起使用的,可以参考这个:

    [evp_embed_video url="http://example.com/wp-content/uploads/videos/vid1.mp4" class="no-toggle fp-mute no-volume"]

    关于插件的更多帮助文档可以查看官方地址:点击查看;

  • 常用提供SMTP邮件服务邮件商总结

    基本上,只要提供邮件产品的都也是提供SMTP的,这个是必要条件,所以,您现在使用的邮箱,也是提供SMTP的,这样我们就可以使用WP Mail SMTP插件的 Other SMTP 来设置。smtp是需要服务器验证身份的,所以使用smtp都需要

    1,腾讯邮箱

    SMTP地址:smtp.qq.com
    端口:465或者587

    2,网易邮箱

    SMTP地址:smtp.163.com
    端口:465或者994

    备注,网易有多个邮箱系统,如果您使用的是126,yeah或者是vip邮箱系统,需要具体的查看,之前帮一个用户设置过,他是vip的邮箱,smtp的地址也是vip的单独地址,这个需要注意。

    3,新浪邮箱

    SMTP地址:smtp.sina.com
    端口:465或者587

    链接:新浪smpt官方帮助文档

    4,阿里云

    SMTP:smtp.aliyun.com

    端口:465

    链接:阿里云SMTP帮助

    备注:阿里云有多种邮箱服务,而且阿里云的企业邮箱产品也是很多的,也可以用来当作smtp服务商,所以,使用阿里云的邮箱,一定要注意选择邮箱产品的类型,不同的可能会有不同的smtp服务器和端口;

    常用的就这几个邮箱系统的,outlook因为加密的方式和需要真实的登陆密码,没有开启认证功能,所以就不建议使用了,Gmail也是,国内无法使用,也不建议使用,用以上这几种已经足够了。

    腾讯邮箱,会出现拦截邮件的情况,其他没发现问题,网易邮箱因为产品线众多,而且企业邮箱只要实名认证就可以免费使用,综合来看Wopus首推网易的邮箱系统。

  • WP Mail SMTP邮件功能系列之:SendGrid

    虽然MailGun不能使用,但是另外一个默认的邮件提供商SendGrid还是不错的,经过简单的上手体验,确认这个邮件服务商可以使用,因为WP Mail SMTP已经集成了这个功能,我们只要获取一个SendGrid的API KEY,点击保存,就可以通过SendGrid发送邮件了。

    官方在创建账户的时候,有这么一句话:Send up to 40,000 emails for 30 days and 100 emails/day free forever with our trial—no credit card required.

    现在创建账户可以享受每月最高40000封邮件和每天100封邮件永久免费,而且不需要信用卡验证。

    这个就相当给力了,每月4万封免费的额度,这样也基本够用了。重要的是,这个只要创建账户获取api key就行,完全不需要做其他的任何设置。

    开始吧。

    需要注意的是,必须要通过官方给出的Try for Free的注册链接,才可以这样。

    1,注册,注册没有什么特必须要注意的,直接按照注册账户常规填写信息即可:

    2,注册之后,验证一下邮件之后,就可以完全使用功能了。

    3,在控制面板首页,点开:Send Your First Email

    4,选择 SMTP Relay ,因为WP Mail SMTP已经完成了技术架构的建设。

    5,随意输入字符,创建api,最后确认创建即可:

    6,创建成功的api,可以在api page页面看到,但是是隐藏的,安全性也是做的不错的。

    7,复制这个api key ,回到我们的WordPress控制后台插件设置的地方,粘贴到API KEY这里即可:

    8,点击 Email Test,直接给自己的QQ邮箱发送测试邮件即可,这样发现已经可以收到邮件了,这样就完成了整个过程。

    以后WordPress网站任何的找回密码,或者说任何使用邮件的地方,都可以使用这个来完成了,而且这个邮件的使用量可以直接在SendGrid个人账户的左下角查看到,比如Wopus测试发送了两封邮件,这都可以看到的。

    最后:SendGrid官方还有很多的功能,个人可以自己多查看一下,做一些实用的设置。

    需要额外说明的是,SendGrid官方也发布了一款WordPress发送邮件的插件:sendgrid-email-delivery-simplified,但是只兼容到WordPress 4.8.4,最近一次更新已经4个月前了,现在WP Mail SMTP集成了这个功能,官方这个插件是否继续更新也不得而知了,但WP Mail SMTP肯定会继续更新,所以,能用好WP Mail SMTP就行。

  • WP Mail SMTP邮件功能系列之:MailGun

    Wopus会把WP Mail SMTP邮件发送做成一个完整的专题系列,毕竟邮件功能是WordPress网站重要而且必须有的一个功能,今天我们继续分享文章,是关于邮件发送者的,这个是插件官方推荐的,所以非常有必要介绍一下,毕竟已经把功能集成到插件里了,我们只要有mailgun的账户信息,就可以很容易的完成邮件功能。

    MailGun官方地址:https://www.mailgun.com/

    关于MailGun:MailGun is a simple and powerful API that allows you to send, receive, and track email effortlessly(MailGun是一个易用且功能强大的邮件收,发,追踪的邮件解决方案提供商)。

    免费账户特点:
    1,每月10000封邮件量;
    2,每月100封电子邮件,这个和第一点
    3,保留30天的邮件日志;
    4,支持多邮箱账户;
    5,最多支持1000个自定义域名。

    以上是免费账户的特点,对于我们一般的小网站来说,已经足够用了,即使留言多一点的,10000封每月的邮件额度也足够用了。

    但是Wopus在尝试多次之后,没有注册成功,虽然付款付款信息这里最后有一个(optional) ,也就是非必填项,但是在尝试几次之后确认必须要填写信用卡信息才能使用,虽然官方说这样是为了方式邮件被用来发送spam,但还是觉得为了使用这个而填写信用卡信息,有点不值得,所以Wopus就不继续介绍这个邮件提供商了,当然如果是真的有需求的专业网站可以试试。

  • WordPress如何导入xml数据

    xml数据是WordPress通过后台工具导出的最原始数据,如果您无法通过phpmyadmin导入sql数据,也无法拿到sql的原始数据,那么最后一个办法就是导出xml,再导入即可。

    导入xml数据的详细步骤:

    1,登陆到WordPress管理后台/工具/导入:

    2,选择WordPress,这个插件WordPress默认并没有在WordPress插件目录里的出现,所以需要单独安装,直接点击 现在安装:

    3,安装成功之后,点击运行,并选择xml文件,点击 上传文件并导入:

    这个一定要是.xml结尾的,不能是.zip格式的,如果是.zip格式的,一定要先解压出来。

    4,导入成功之后,分配所有数据给具体的管理员即可,如果主题有很多的图片,一定要勾选 下载并导入附件 文件。

    5,最后回到网站首页,可以看到效果了,然后可以继续回到管理后台逐个查看每个功能了。

  • 替换分享工具自带图标

    目前常用的社会化分享工具有 百度分享 和 JiaThis,特别是这个JiaThis年代够久远,在百度也加入这个领域后,居然还坚持为大家提供免费工具,这里点32个赞!

    随着时代的变化,这些分享工具自带的小图标却一成不变,已不符合目前流行的扁平化风格,与网站风格极不协调,但有些网站虽用的也上面两款分享工具,但图标却不一样,扁平、大方、简洁,显得高大上。今天就分享一下修改后的代码,起个抛砖引玉的作用,以JiaThis分享工具为例,下面是修改后的效果:

    默认的分享按钮

    美化后的分享按钮

    基本原理就是找到默认分享代码的DIV选择器,然后隐藏背景图片,添加字体图标并重写样式。

    一、首先将下面代码添加到当前主题functions.php的最后:

    1. function entry_share($content) {
    2. if (is_single()) {
    3. $content .= ‘
    4. <div class=“entry-share”>
    5. <div class=“share-box”>
    6. <span class=“share-pu”>分享到</span>
    7. <!– JiaThis Button BEGIN –>
    8. <div class=“jiathis_style_32x32”>
    9. <a class=“jiathis_button_tsina”><i class=“fa fa-weibo”></i></a>
    10. <a class=“jiathis_button_weixin”><i class=“fa fa-wechat”></i></a>
    11. <a class=“jiathis_button_renren”><i class=“fa fa-renren”></i></a>
    12. <a class=“jiathis_button_qzone”><i class=“fa fa-qq”></i></a>
    13. <a class=“jiathis_button_fb”><i class=“fa fa-facebook”></i></a>
    14. <a class=“jiathis_button_twitter”><i class=“fa fa-twitter”></i></a>
    15. <a href=“http://www.jiathis.com/share” class=“jiathis jiathis_txt jtico jtico_jiathis” target=“_blank”><span><i class=“fa fa-share-alt”></i></span></a>
    16. <a class=“jiathis_counter_style”></a>
    17. </div>
    18. </div>
    19. <script type=“text/javascript” src=“http://v3.jiathis.com/code/jia.js” charset=“utf-8”></script>
    20. <!– JiaThis Button END –>
    21. </div>’;
    22. }
    23. return $content;
    24. }
    25. add_filter(‘the_content’,’entry_share’);

    之后分享代码会自动添加到文章正文的下面。

    上面代码只是在原JiaThis分享代码基础上添加了字体图标。

    二、再把下面配套的样式添加到当前主题样式文件style.css中即可。

    展示代码[s][p]

    1. /** 外部盒子 **/
    2. .entry-share {
    3. font-size: 14px;
    4. text-align: center;
    5. margin: 0 auto 20px;
    6. }
    7. /********* 分享文字 ********/
    8. .entry-share .share-pu {
    9. font-weight: 700;
    10. line-height: 40px;
    11. }
    12. .entry-share .share-pu {
    13. float: left;
    14. color: #4d4d4d;
    15. }
    16. /******** 分享样式 ********/
    17. .entry-share div.share-box {
    18. display: inline–block;
    19. overflow: hidden;
    20. }
    21. .entry-share .jiathis_style_32x32 {
    22. float: left !important;
    23. margin-left: 10px;
    24. }
    25. .entry-share .jiathis_style_32x32 a {
    26. float: left;
    27. width: 40px;
    28. height: 40px;
    29. color: #a8a8a8;
    30. font-size: 16px !important;
    31. display: block;
    32. border-radius: 5px;
    33. margin-right: 10px;
    34. border: 1px solid #999;
    35. }
    36. .entry-share .jiathis_style_32x32 a:hover {
    37. text-decoration: none;
    38. color: #fff;
    39. }
    40. /** 图标大小 **/
    41. .entry-share .jiathis_style_32x32 a span {
    42. background: transparent !important;
    43. width: 38px !important;
    44. height: 38px !important;
    45. padding: 0 !important;
    46. margin: 0 !important;
    47. float: none !important;
    48. font-size: 20px !important;
    49. display: block !important;
    50. text-align: center !important;
    51. line-height: 38px !important;
    52. }
    53. /******** 更多分享 ********/
    54. .entry-share .jiathis_style_32x32 a.jtico_jiathis {
    55. background: transparent !important;
    56. width: 38px !important;
    57. height: 38px !important;
    58. padding: 0 !important;
    59. margin: 0 !important;
    60. font-size: 24px !important;
    61. display: block !important;
    62. text-align: center !important;
    63. line-height: 38px !important;
    64. }
    65. .entry-share .jiathis_style_32x32 a:hover.jtico_jiathis {
    66. background: #666 !important;
    67. border-color: #666;
    68. }
    69. /******** 分享次数 ********/
    70. .entry-share .jiathis_style_32x32 a.jiathis_counter_style {
    71. width: auto;
    72. margin-left: 10px;
    73. padding: 0 15px;
    74. border-radius: 5px;
    75. display: inline–block;
    76. position: relative;
    77. background: #e8e8e8;
    78. border-color: #e8e8e8;
    79. color: #fff !important;
    80. }
    81. /** 箭头 **/
    82. .entry-share .jiathis_style_32x32 a.jiathis_counter_style:before {
    83. content: ”;
    84. width: 0;
    85. height: 0;
    86. border-style: solid;
    87. border-width: 10px 10px 10px 0;
    88. border-color: transparent #e8e8e8 transparent transparent;
    89. position: absolute;
    90. right: 100%;
    91. top: 50%;
    92. margin-top: –10px;
    93. }
    94. .entry-share .jiathis_style_32x32 a.jiathis_counter_style span.jiathis_bubble_style {
    95. color: #666 !important;
    96. font-size: 14px !important;
    97. width: auto !important;
    98. }
    99. /******** 不同图标悬停背景颜色 ********/
    100. .entry-share .jiathis_style_32x32 a:hover.jiathis_button_tsina {
    101. background: #e74c3c;
    102. border-color: #e74c3c;
    103. }
    104. .entry-share .jiathis_style_32x32 a:hover.jiathis_button_weixin {
    105. background: #2ecc71;
    106. border-color: #2ecc71;
    107. }
    108. .entry-share .jiathis_style_32x32 a:hover.jiathis_button_fb {
    109. background: #4760A5;
    110. border-color: #4760A5;
    111. }
    112. .entry-share .jiathis_style_32x32 a:hover.jiathis_button_twitter {
    113. background: #50ABF1;
    114. border-color: #50ABF1;
    115. }
    116. .entry-share .jiathis_style_32x32 a:hover.jiathis_button_renren {
    117. background: #3777BE;
    118. border-color: #3777BE;
    119. }
    120. .entry-share .jiathis_style_32x32 a:hover.jiathis_button_qzone {
    121. background: #2174C3;
    122. border-color: #2174C3;
    123. }

    [/p]

    鼠标悬停在分享按钮上,背景会变成不同的颜色。

    注:

    因代码中使用了Font Awesome字体图标,如果你的主题没有加载字体图标,可以到WP后台–插件–安装插件页面搜索:Font Awesome 4 Menus 安装并启用,才能显示替换后的图标。

    如果你动手能力比较强,也可以同样替换百度分享图标。

  • WP First Letter Avatar插件代码版

    留言者未申请Gravatar头像,显示的是WordPress自带的默认头像或丑陋的随机图片,安装WP First Letter Avatar 插件可以较好地解决这一问题,如留言者无Gravatar头像,则以留言者名称第一个字母为头像。

    默认WP First Letter Avatar插件并不支持中文名称,经搜索有修改版本的支持中文,另外,插件源代码只有一个关键文件,于是去掉插件后台控制页面,添加对中文的支持,精简代码,直接改成代码版,分享给大家。

    相关文件下载

    使用方法:

    一、将下载的文件解压后的,将里面的avatar文件夹,放到当前主题根目录中。

    二、添加调用代码

    将下面的代码添加到当前主题函数模板functions.php的最后:

    1. require get_template_directory() . ‘/avatar/zm-first-letter-avatar.php’;

    因其它尺寸很少用到,代码版只保留了96和128尺寸的头像图片。

    另外,下载的zm-first-letter-avatar.php文件中有几行加了注释:

    1. const IMAGES_PATH = ‘avatar’; // 图片目录
    2. const GRAVATAR_URL = ‘https://cn.gravatar.com/avatar/’; // 从cn获取url
    3. // const GRAVATAR_URL = ‘https://secure.gravatar.com/avatar/’; // 从ssl获取url
    4. // 默认配置:
    5. const USE_GRAVATAR = true; // true:如果用户设置了头像,则显示Gravatar头像;false:所有用户使用字母头像
    6. const LETTER_INDEX = 0; // 0:首字母;1:第二字母;-1:最后一个字母等。
    7. const IMAGES_FORMAT = ‘png’; // 文件格式
    8. const ROUND_AVATARS = false; // TRUE: 头像添加类round-avatars; FALSE: 不添加
    9. const IMAGE_UNKNOWN = ‘mystery’;// 未知头像名称,
    10. const FILTER_PRIORITY = 10; // 过滤优先级别

    可以根据需要适当修改。

    WP First Letter Avatar插件和代码版,都不支持本地环境显示字母头像。

  • WordPress随机显示本地头像

    WordPress随机显示本地头像

    随机显示本地头像

    Gravatar头像加载缓慢的问题,一直困扰着我们,启用头像本地缓存或者缓存到类似七牛云上可能是唯一可行的办法。

    还有一个让人郁闷的是,很多评论留言者并没有申请Gravatar头像,只能显示WordPress自带的古怪头像,看着很不爽。

    下面分享一段随机显示本地评论头像的代码,预先准备一些漂亮的图片代替WordPress自带的头像。

    添加代码

    将下面代码添加到当前主题functions.php中:

    1. add_filter( ‘get_avatar’ , ‘local_random_avatar’ , 1 , 5 );
    2. function local_random_avatar( $avatar, $id_or_email, $size, $default, $alt) {
    3.     if ( ! empty( $id_or_email->user_id ) ) {
    4.         $avatar = ”.get_template_directory_uri().’/avatar/admin.jpg’;
    5.     }else{
    6.         $random = mt_rand(1, 10);
    7.         $avatar = ”.get_template_directory_uri().’/avatar/’. $random .’.jpg’;
    8.     }
    9.     $avatar = “<img alt='{$alt}’ src='{$avatar}’ class=’avatar avatar-{$size} photo’ height='{$size}’ width='{$size}’ />”;
    10.     return $avatar;
    11. }

    其中:mt_rand(1, 10);数字为随机图片张数可以自行修改。

    准备头像图片

    在当前主题目录中新建一个名称为avatar的文件夹,里面放10张名称连续的jpg图片,比如1.jpg、2.jpg、3.jpg………,和一张用于管理员的图片,名称为admin.jpg

    添加上述代码后,只有管理员是显示固定的图片,其他留言者都是随机显示预先准备的头像图片,包括注册用户。

    可以安装本地上传头像插件:Simple Local Avatars,让注册用户在后台上传头像,从而显示自己固定的头像。

    可能有童鞋会问,已申请Gravatar头像的留言者,是否能显示正常的Gravatar头像,理论上是可以通过判断实现的,不过这就需要到Gravatar头像站点去检测,会严重拖慢速度,得不偿失。

  • WordPress七牛镜像存储插件使用教程

    关于WordPress七牛镜像存储插件,Wopus之前有教程介绍过:云储存插件:七牛镜像存储 WordPress 插件;这也是三款云存储插件的系列教程之一。

    WordPress七牛镜像存储插件已经被WordPress官方收录,可以直接在wp-admin后台/插件/安装插件,在搜索框里输入:wpjam,就可以有WPJAM Basic插件和七牛镜像存储WordPress插件。

    想要安装WordPress七牛镜像存储插件,就要先安装 WPJAM Basic 插件并激活这个插件。然后再安装七牛镜像存储WordPress插件。在激活WPJAM Basic插件的时候,会提示:该插件没有有效的标题。 这样直接回到wp-admin/插件/已安装插件列表,启用这个插件即可。

    安装之后通过微信扫码,激活插件,就可以正式使用了。

    七牛云存储插件有5个功能模块:七牛设置/本地设置/缩略图设置/远程图片设置/水印设置;

    比较重要的是:七牛设置/本地设置

    在设置这两个之前,先到七牛云存储网站注册:注册连接(使用Wopus的注册链接,可以给Wopus带来5G的流量,感谢。)

    注册成功之后,马上充值10元,只要充值10元即可,因为只有充值10元的用户,才可以使用 对象存储的域名绑定功能。

    接下来开始详细的使用教程:

    1,点击 对象存储:

    1

    2,点击 新建存储空间:

    2

    存储空间名称:这个可以自定义,比如imgs,cdns,pics等;

    存储区域:有四个区域可以选择,因为只有备案的域名才可以绑定到七牛,所以,这里尽量选择离自己主机机房所在的区域,如果不知道自己的国内主机在哪里,可以咨询主机提供商;

    访问控制:这里都可以的。

    创建完成之后,就到这里了:

    3

    3,点击 绑定域名–新建加速域名:

    4

    加速域名:这里可以是网站域名的二级域名,也可以是新的顶级域名,都可以的;

    使用场景:因为我们要存储JS,CSS和图片文件,所以选择:图片小文件 即可;

    最后点击创建。

    4,等待生成cname的七牛二级域名:

    5

    域名信息:七牛会生成一个用于cname解析的二级域名,但需要一些时间,不用一个小时,基本30分钟就足够了,生成了七牛的二级域名之后,到域名管理的地方,去解析一个cname就行,解析一般2个小时就会生效;

    5,设置 镜像存储:

    7

    这里很重要,如果您设置好之后数据没有同步,基本上就是这里没有设置好;如果你的网站是:http://blog.wopus.org的,就写这个,如果是https://www.wopus.org/blog/ ,就写这个,总之一条原则是:程序所在的访问目录地址,就是正确的地址,到这里,在七牛的设置就完成了。

    6,返回网站的 wp-admin/七牛镜像存储 继续设置:

    6

    如果你有多个七牛存储空间,也创建了多个绑定的域名,这里就要注意,一定不要设置错了。

    ACCESS KEY和SECRET KEY在右上角的 个人面板/密钥管理 里插件,然后分别复制过来,最后点击 保存更改就行。

    7,本地设置:

    9

    扩展名:这是想要镜像到七牛的内容,一般都是网站的JS,CSS和图片,这里需要注意一点,有些功能比较复杂的主题,使用了大量的JS代码,如果镜像到七牛之后,可能会造成主题的一些功能失效,如果这样,可以选择不同步JS。如果开始不知道,已经镜像到七牛之后,到七牛镜像存储里删除.JS后缀的所有文件即可。

    目录:默认是WordPress的两个目录,这里没什么需要修改的;

    本地域名:就是你的网站地址;

    图片瘦身:这个可以尽可能的利用七牛的存储空间,虽然免费的有10G,但是如果图片很多使用这个功能,可以尽可能的多镜像一些图片到七牛;

    渐进显示:这个是当前主流的一种图片显示访问,各位访问:https://www.wopus.org/ 可以看到图片就是这么显示的,这样做的目的是网站打开的速度会快一些,节省七牛的宽带资源,如果图片存储在本地,那可以节省主机的宽带资源,如果图片量很大,这样可以节省很多的宽带资源,让网站打开的速度快很多;

    图片质量:按照默认的即可;

    使用 jQuery 2.0:是否勾选看个人;

    设置完之后,点击保存设置,这时候回到七牛,看创建的存储空间/内容管理,已经可以看到需要同步的扩展名文件已经开始逐渐同步到七牛的空间里;

    这个需要一些时间,服务器的网络质量和宽带大小会影响这个,所以不要着急;但最迟一天应该会同步完成。

    这时候你打开自己的网站,鼠标查看图片,点击 复制图片地址,然后粘贴到浏览器的地址栏里,这样可以看到,图片的地址,已经是以:http://imgs.wopus.org/开头的地址了。

    如果你有很多网站,可以在七牛里创建对应的存储空间,绑定对应的二级域名,然后每个都安装七牛镜像存储插件,这样可以给这些网站使用七牛云存储的功能。

    到这里,WordPress七牛镜像存储插件的使用教程,就写完了,如果您看了之后有任何问题,可以直接留言,我会即使的回复你,也可以加WordPress爱好者QQ群:39872098 。

    总结:

    WordPress网站使用七牛镜像存储的好处显而易见:

    1,减少主机的资源使用:如果把JS,CSS,图片都使用七牛的,这些资源的请求会占用七牛的资源,而不会消耗服务器的资源使用;

    2,减少主机的宽带使用:JS,CSS,图片都是很消耗流量的资源,镜像到七牛之后,会让主机的宽带使用减少大半甚至更多;

    3,提高网站的访问速度:只要你主机所在的机房,到七牛的存储空间所在的机房速度不是特别慢,那么你网站的速度打开会提高很多,因为网站慢,主要就是图片载入速度,JS,CSS载入慢,这些不占用主机的宽带之后,网站的速度就快了。