Category: WordPress进阶

  • WordPress禁止xmlrpc的办法

    WordPress的xmlrpc当前已经成为了一种主要攻击WordPress的方式,这个主要有两个后果:

    1,会使运行WordPress的主机出现资源消耗光的情况,这样主机就会出现假死的情况,导致网站无法访问;

    2,会使自己的网站上莫名的出现很多分类和文章,这些多出来的分类和文章都不属于网站;

    所以,关于WordPress的xmlrpc功能就是必须要做的一件事情了,方法很多,但其实很简单,只要一行代码就行:

    add_filter(‘xmlrpc_enabled’, ‘__return_false’);

    这行代码,添加到当前主题的functions.php文件的最后一行就行。

    但是,如果您更换了主题,请及时把这个代码放到新主题的functions.php里。

  • 保留更新主题时functions.php里的自定义代码的办法

    WordPress主题中的functions.php是很重要的一个文件,WordPress主题很多很多功能都是写入到这个文件里,是功能得以实现;

    针对主题做的一些功能变更,需要向这个文件里写入代码,而一款优雅的WordPress主题除了发布之外还要有更新,而一旦更新,functions.php文件也会被覆盖,那之前添加到这里的功能代码也就不存在了,这里有一个解决办法,可以解除各位的后顾之忧,不会再出现更新主题版本而忘记备份functions.php文件而出现的尴尬。

    解决思路就是:把每个功能的代码,都做成一个WordPress的插件,然后通过WordPress的插件功能,上传-激活,这样可以保证功能的延续性,而又不会出现functions.php文件被覆盖的问题。


    具体步骤:

    < ?php /* Plugin Name: 模版函数扩展插件 Description: 给主题模版函数库里添加点小功能 Author: 明月登楼 */ //文件里面加入代码就可以和functions文件一样了 ?>

    把上面的代码自己另存为一个php文件,记住是UTF-8编码,然后放进wp-content/plugins文件夹,对,直接放进插件文件夹,然后去插件中心看看,如图:

    2016032017374031

    一个插件就这么出来了,虽然里面没有什么实际代码,但是他就是一个插件,对网站开始起作用了,和在functions文件里面加代码一样。

    每个功能都可以按照上面的方式,写成一个简单的插件,如果如果功能很少,这办法很合适,如果增加了超过5个的功能,还是备份functions.php文件比较方便。

    文章来源:明月登楼。

  • WP Mail SMTP插件使用教程

    本来Wopus是想借着写教程,把这个插件也翻译成中文的,但在插件的langs目录,只有.mo文件,没有.po文件,所以插件无法翻译了;Wopus会在写教程的过程中,把对应的英文翻译成中文,方便大家对照使用。

    2016年4月18日更新:

    文章发布之后,有WordPress爱好者根据Wopus图片上的翻译,翻译了这个插件,我单独提取出来了.mo和.po的中文文件做成了zip压缩包,各位直接把.mo和.po文件放在插件的langs目录即可。

    zh_CN的.mo和.po文件下载:点击下载。

    首先是插件的安装,可以通过下载zip或者直接在自己的WordPress管理后台,安装,关于WordPress插件的安装,可以看这篇文章:WordPress插件安装全解析。

    安装并激活插件之后,会在设置中生成一个Email的选项,点击进去,就是这个插件的设置页面,Wopus把设置页面分成三部分,并且都做了翻译,并且分别解释:

    jc01

    这里没什么需要特别说明的,按照自己想要的设置就行,很多人都很痴迷以自己域名为后缀的邮箱,当然这里也是可以的,用自己的域名打造企业邮箱,Wopus之前写过一篇文章,可以看这里:网易免费企业邮箱;搜狐免费企业邮箱;QQ免费企业邮箱。

    jc02

    这里,我们可以用腾讯QQ邮箱的SMTP服务器,腾讯官方给出的详情:

    jc04

    所以这里SMTP HOST填写:smtp.qq.com;SMTP Port填写:465;

    这里必须要用认证,不然发送邮件会失败;认证方式是登录自己的QQ邮箱,找到邮箱设置–账户:

    jc05

    往下拉,找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 :

    jc06

    先开启SMTP服务,再生成认证码,手机登录QQ,扫描之后,会获取安全码,这个安全码就是 Password,用户名可以写QQ号码。

    保存设置之后,可以使用测试邮件功能来测试功能是否好用:

    jc03

    特别说明:

    除了使用QQ的,还有其他的可以使用,比如163的邮箱smtp,搜狐的,新浪的,都可以各位根据自己的喜好来设置就行;

    如果按照Wopus的教程,绝对不会出错,如果有任何问题,可以加QQ群,在Wopus首页顶部。

  • WordPress插件使用的5个原则

    WordPress插件,是WordPress在全世界流行的一个重要原因,功能丰富的插件让WordPress建站有了各种可能性而不单单只是博客了。但是林子大了什么鸟都有,WordPress不安全的最大原因,也是因为其插件。

    Wopus今天归纳5个原则,希望能帮助大家,大家在使用插件的时候,可以借鉴一下,这样不但可以增强WordPress网站的执行效率,更可以让自己的WordPress网站更安全。

    1,尽量使用来自WordPress.org官方的插件;

    如果一个插件足够有价值,使用量足够多,那么插件作者把插件提交到WordPress.org不是一件困难的事情;退一步说,即使插件没有提交到WordPress.org,那作者如果足够负责,也可以使用。

    2,插件如果超过3个月没有更新,请不要使用;

    WopusIDC从08年就开始提供WordPress主机服务,在最近几年中遇到了主机的安全问题,基本上都是插件在使用中,但超过一年没有更新,插件一旦不更新,即使功能上依然可以满足使用,但安全性却真的可能出现安全问题,所以,定期检查插件是一件很必要的事情。

    3,使用插件之前,先看看评论;

    互联网神奇的地方,是你可以找到很多资源,而且是你意料之外的,虽然没有专门的WordPress插件测评网站,但从网上还是可以搜索到一些插件的评论,多看看,或多或少可以帮助到自己。

    4,插件使用按需求,而不是越多越好;

    Wopus主机用户,最多一个使用了将近90个插件。其实,插件完全用不到这么多的,很多插件都是可有可无;比如很多用户都会使用WordPress的备份插件,但现在的WordPress主机提供商都会有数据备份功能,所以这个插件其实完全没必要,但有些用户还是觉得用了心里会安稳一些。Wopus稍后会分享一些必装的插件,希望能帮助到各位。

    5,插件确定使用之后,要完全明白如何使用;

    WordPress插件不是启用了没事了,有些插件需要简单的设置,有一些插件需要复杂的设置,这些设置完全做好,才能让插件发挥功能,而不是只是安装好,启用就一了百了。

    以上就是Wopus总结的5个WordPress插件使用原则,希望能对各位有帮助。

  • WordPress 3.5禁用XML-RPC

    WordPress 3.5 开放了XML-RPC功能。

    什么是XML-RPC:

    XML-RPC的全称是XML Remote Procedure Call,即XML远程方法调用。它是一套允许运行在不同操作系统、不同环境的程序实现基于Internet过程调用的规范和一系列的实现。

    有些用户习惯用其他的第三方软件发布WordPress文章,比如WLW(Windows Live Write),菊子曰,WordPress智能手机客户端等,都需要用到这个功能,WordPress 3.5默认开放这个功能,是WordPress向移动互联网做出的一个调整。

    如果觉得这个功能用不到,可以禁用掉,方法也非常简单,添加代码:

    add_filter(‘xmlrpc_enabled’, ‘__return_false’);

    在wp-config.php中,可以放在最后一行,然后保存上传覆盖即可。

    禁用XML-RPC功能,有WordPress爱好者写成了一个插件,插件地址:https://gist.github.com/3800468

  • 五种WordPress反垃圾留言方法

    垃圾留言现在是公害,绝对的公害。

    WordPress的留言机制,好像又比较适合垃圾留言的产生:

    1,评论者ID本身就是关键词;

    2,带上超级链接;

    3,评论内容中有关键词和超链接。

    Wopus这里总结了几种对付垃圾留言的方法:

    1,安装反垃圾留言插件:

    Wopus专门有一个页面是介绍这个插件的:http://plugins.wopus.org/content/antispam

    首推 Akismet(全攻略);这里有获取API KEY的方法(教程:Akismet获取API KEY的方法)。

    2,使用其他的评论系统:

    目前国内针对WordPress的社会化评论很多,有两个比较用户多:多说(http://www.duoshuo.com);灯鹭(http://www.denglu.cc/index.html),都推出了针对WordPress的插件,安装之后简单设置,即可使用。

    3,手动审核插件设置:

    很多评论,不管是否是垃圾评论,第一次提交的时候我们在控制面板里可以看到评论是待审核状态,如果是垃圾评论,建议不要删除,而是设置成垃圾评论,这样下次相同ID的评论直接就会被过滤掉。

    4,合理利用WordPress本身的反垃圾功能:

    在WordPress控制面板–设置–讨论中,有黑名单,功能描述是:

    当评论的内容、姓名、URL、电子邮箱、IP 地址中包含以下任何一个关键词,则将其标记为垃圾评论。(一行一个关键词)

    所以,这里可以尽情的添加那些该死的垃圾评论的相关信息。

    5,强力反垃圾插件:WP-reCAPTCHA

    可以检测评论者的ID,邮箱和评论内容,详细地址:http://wordpress.org/extend/plugins/wp-recaptcha/

    最后,其实无论是哪种方法,都不能完全的禁止垃圾评论,但多管齐下,则有可能把垃圾评论完全搞定,当然,日常的及时清理也很关键,不要让垃圾评论一直产生,否则会影响服务器的运行。

    如果各位有什么好的其他方法或者插件推荐,可以留言分享,一起来反垃圾留言~~~

  • 打造安全WordPress的6点建议

    网站的安全性在任何时候都是很重要的,特别是在网站经营若干年之后,有了更多的数据,更要保证网站的安全性,使用WordPress搭建的网站更是如此,特别是现在WordPress用户越来越多,使用越来越广泛,所以,被研究,被攻击,也是必然的。

    本篇文章里提到的都是在WordPress安装之后的操作。

    1,经常备份;

    备份的意思,是文件和数据库都要备份,而且也包含附件。备份可以根据各自的特点来操作,比如WordPress的程序,如果不是每天都在修改WordPress的话,只要在每一次修改WordPress程序之后备份一次即可;附件,比如压缩包和图片,如果是存储在主机当中,那建议每周备份一次,毕竟每次备份到其他空间或者本地,是要消耗流量的;如果本身已经存储在第三方的网盘上,那就无需单独备份了;数据库,也每周备份一次即可。

    这里推荐一款很好用的WordPress备份插件:BackWPup

    WordPress备份的三个原则:

    a,备份文件不能保存在相同的空间中;

    b,必须是自动备份的;

    c,设置备份文件的次数,比如保留最新的5次备份等;

    2,保持WordPress程序在最新版

    WordPress是一款开源的程序,因此有很多爱好者都很喜欢,而且发现问题都会及时的提交到WordPress官方,之前几次的更新,都是提交之后,WordPress官方及时更新处理,所以,保持WordPress一直在最新版,可以有效的避免安全问题;

    3,使用复杂的密码并且经常更新

    密码有两个,一个是WordPress的登陆密码;另外一个是主机的密码;不要只使用数字和字母,空格,~!@#这种也可以用,当然要记得,而且不定期更新,保证密码的安全性,但要自己记得。

    4,经常检查WordPress程序

    这里需要说一下WordPress的权限,在linux主机,运行在cgi模式下的WordPress程序,文件夹的权限是:755;文件的权限是:644;.htaccess的权限也是644(有些文件,比如sitemap的xml可能需要777的权限,就WordPress本身的权限,按照上面说的即可)。

    通过主机控制面板,是可以看到权限的,如果有文件权限不对,建议先修改成正确的,然后打开文件,查看是否有恶意代码;常被入侵的文件有三个:根目录的wp-config.php;index.php和当前主题中的functions.php。

    现在国内也有很多检测安全的网站,但还是建议使用国外的吧,比如:http://www.sucuri.net,当然cPanel主机(http://idc.wopus.org/foreign/cp/)控制面板目前已经内置了病毒扫描工具。

    5,设置WordPress的security keys

    安装WordPress之后,在wp-config.php文件中,有security keys,可以在 https://api.wordpress.org/secret-key/1.1/salt/ 中生成,都是随即的,直接复制到wp-config.php,保存即可。

    6,选择性的使用WordPress插件和主题

    其实很简单,插件和主题,尽量使用WordPress官方的。

    我们遇到过极端的情况,一个WordPress爱好者制作了几款主题,都免费分享了,但他的主机被入侵了,所有的主题,都被插入了恶意代码,于是,使用之后,就悲剧了;当然这种情况也出现在WordPress官方,也被入侵过,但WordPress很好的处理,并且加强了预防。

    插件更是如此了,使用之前,先衡量一下,是否真的需要。

    WordPress的用户,都喜欢折腾,主要就是折腾主题和插件,但有选择性的,可以很好的保证WordPress安全性。其实,通过主题和插件威胁WordPress,是当前一种主流的方式。

    如果您有其他的建议或者好的经验,请留言,我们会不断更新,希望大家都有安全的WordPress网站。

  • wp-config.php文件小功能分享

    WordPress 3.4.1版本有981个文件和95个文件夹,虽然天天和WordPress大家到,但我们基本上不会去修改这些文件,绝大部分操作基本上都是在WordPress主题和WordPress插件。但是有一个文件,我们会是不是的修改一下,这个文件就是wp-config.php,当然,这个文件必须在WordPress安装成功之后才能看到。

    这里有几个通过往wp-config.php中添加代码实现相关功能的技巧分享给大家。

    1,去掉WordPress的历史修订版本功能。

    这个是WordPress默认的功能,主要是方便多人协作写文章使用,但是在单人网站上,这个功能基本上是鸡肋。

    去掉的办法:

    在wp-config.php中添加代码:

    define(‘WP_POST_REVISIONS’, false );

    这个功能可以记录无数次的历史版本,如果往wp-config.php中添加如下代码可以限定历史版本的次数:

    define(‘WP_POST_REVISIONS’, 2 );

    这个数字 2,就是次数。

    2,修改系统文件的函数功能

    有些主机,当你想在线安装插件,主题的时候,会让填写主机信息,ftp帐户和密码,解决这种问题的办法也很简单,只要往wp-config.php中添加以下代码:

    define(‘FS_METHOD’, ‘direct’);

    这个应用在Wopus帮助站里的WordPress需要填写链接信息解决办法有说明。

    3,保护wp-config.php文件

    WordPress文件的安全性很重要,之前看一些WordPress被入侵,基本上都在wp-config.php加了恶意代码,而且默认的权限是644,被修改成了666;

    以下代码可以保护wp-config.php文件不被入侵:

    # protect wpconfig.php

    order allow,deny
    deny from all

    当然,上面代码不是放在wp-config.php中,而是放在.htaccess中,放在当前WordPress程序所在目录中。

    4,修改WordPress数据库的前缀

    WordPress程序在安装的时候默认的前缀是wp_,你可以修改成任何你喜欢的,至于为何要修改,主要两个理由:1,保证数据库安全,不被破解;2,如果主机之后一个数据库,不同的数据库前缀可以让很多数据库共存。

    步骤:

    在wp-config.php中找到代码:

    $table_prefix = ‘wp_’;

    把wp修改成任何你需要的即可,这么修改之后,会导致网站访问提示数据库访问错误,还需要一个插件,才能彻底解决问题:DB Prefix Change 。

    5,修改自动保存时间间隔

    WordPress自动保存功能超级给力,常用Office或者PS的同学,肯定都有经历,突然停电,几千字的Word没保存,刚做好几十页的PPT没保存或者几百个设计好的图层没保存,是什么感觉,但WordPress不会,在一定的间隔,WordPress会自动保存已经存在于编辑框中的文字。

    通过以下代码可以修改每次保存的时间间隔:

    define(‘AUTOSAVE_INTERVAL’, 240 );

    240,就是时间间隔,单位是:秒。

    6,方便迁移WordPress

    这个功能太帅了,单独写文章,并会添加地址到这里。

    之前都是这么操作的:WordPress更换主域名后需要完成的操作

    7,使WordPress在WP_DEBUG模式下

    WordPress官方给wp_debug的解释:

    WP_DEBUG 常量控制大多数 PHP 错误,以及所有警告和提醒。如果您不在 wp-config.php 文件中进行定义,则将自动设置为 false。WP_DEBUG_LOG 和 WP_DEBUG_DISPLAY 控制调试消息的记录和显示。

    wp_debug功能默认是不可用的,在wp-config.php中添加如下代码可以实现:

    define(‘WP_DEBUG’,true);

    8,设置禁止编辑插件和主题的权限

    如果你是一个WordPress的主题作者,或者你是WordPress达人,在帮客户做主题或者解决WordPress问题的时候,通常要设置一下权限,虽然都是管理员,但还是不要让用户随便去操作主题和插件,以免带来不必要的麻烦。

    删除Wordpress主题和插件编辑功能代码:

    define(‘DISALLOW_FILE_EDIT’,true);

    下面的代码可以禁止安装主题和插件:

    define(‘DISALLOW_FILE_MODS’,true);

    但需要记住的是,被WordPress官方收录的主题和插件,会不断的更新,有些是为了功能,有些是为了安全,所以,请确保能通过其他途径及时了解相关主题和插件最新的动态。

    上面收集,是wp-config.php功能的一部分,如果您也有相关的教程,可以投稿给我们:support@wopus.org 。

  • 永久链接格式设为postname时导致页面显示错误的解决办法

    在Bruce老师的细心指导下,修改了 Reeoo.com 的永久链接格式,从原来的 /%category%/%post_id% 的格式修改为 %postname% ,以便于url变得更有意义一些,当然这个前提是 Reeoo.com 所有的文章标题都是被收录的网站的名称,不需要另外再去重新编辑slug之类的。

    以上两个不同的URL格式的差别,只有在文章页(single)才显示,分类页及其它页面基本都是一样的,所以无需做过多的修改,另外再安装 Dean’s Permalinks Migration 插件更是连301都不需要做。

    安装这个插件后,会自动读取当前的URL格式,保存一下然后去修改永久链接格式,当访问旧地址时会自动301跳转到新地址。

    本以为一切都顺风顺水的,但当检查地址是否全部正确的时候,发现很多以前的老文章访问时,页面的内容结构会由读取 single.php 文件变成读取 page.php 文件,而访问附件的地址时则是正常的,但url不会跳转,注意看以下两个截图的地址栏:

    进一步检查这些显示有错误的文章内容时,发现这些文章内容是完全正常的,随意添加一点内容再更新文章时,页面依然显示错误的。

    于是又将文章内容里的图片删掉,重新添加一下图片,再保存时显示就正常了,基本上判定为图片上传的时候有问题。而出现错误的文章发布时间集中在2010年1月份之前,回想在最早开始给Reeoo添加内容时,因为嫌每个文章上传一次图片麻烦,所以有时会一下子上传一堆图片,然后写每个文章时直接复制HTML代码过去修改,以达到更快速简便的效果。

    再加上最早的时候使用的是WordPress2.8的版本,之后经历过几次大版本升级,数据的升级可能不完善,于是就导致了这个问题的出现。

    确定为图片上传的问题后,改为去检查媒体库,发现里面有接近200来张的图片是没有附属的,也即是在数据库里这些图片没有被指定附加在哪个文章里,于是只需要重新为这些图片指定附属的文章,问题完美解决。

  • WordPress主题翻译教程

    先介绍一个软件:poedit。(PoEdit是一款.po文件编辑器,PO即Portable Object,可跨平台对象的意思,PoEdit常用来汉化各种程序,它内置于wxWidgets工具中,可以在所有它支持的平台上运行,如Unix下的GTK+以及Windows。PoEdit提供更方便的办法编辑目录,而不用通过启动VI文本编辑器,手动编辑。)

    除了以上的介绍,还有两点可以补充:1,poedit是跨平台的开源软件,支持多国语言;2,最后一次发布是2010年3月,已经两年多更新了。

    poedit下载(Windows版本):http://prdownloads.sourceforge.net/poedit/poedit-1.4.6-setup.exe (开源软件,建议各位直接去官方网站下载!!!)

    安装之后选择中文语言即可。

    使用 poedit 翻译主题,必须有一个条件,即主题有语言包,可以在主题中看到:languages目录(比如:WordPress图片主题:Photoria),有些主题会放在lang目录(比如:WordPress电影主题:Foxnet )。

    如果主题没languages目录,那么只能这么翻译了:WordPress主题完全翻译教程!

    开始翻译:

    1,下载,安装,并打开 poedit。

    2,下载需要翻译的主题(欢迎到Wopus主题站),并解压查看是否有languages目录,我们就拿 Photoria 为例。

    3,解压,然后在poedit中,点击文件,打开:
    11

    4,选择 en_US.po 文件,并打开:

    22

    5,这就是一份标准的主题翻译界面:

    33

    6,翻译界面主要包含三部分,原文,译文,对照。在第一个框里,原文和翻译之后的是对照起来的,二个框是原文;第三个框是译文,翻译的中文,就写在译文的框中,如果有些不需要翻译或者不知道怎么翻译,可以先把原文复制过去:

    44

    7,翻译完成之后,把翻译之后的.po另存为:zh_CN.po,还是放在languages目录里;zh_CN.po这个是固定的,是要和wp-config.php中的WPLANG保持一致,languages目录是:wp-content/themes/theme name/languages,不能放到 wp-content/languages目录中,.po文件保存之后,会自动生成.mo文件,其实语言文件起作用的是.mo文件:

    66

    8,翻译,对于新手,必备的工具就是各种词霸了,屏幕取词,方便翻译。不需要的,直接把原文复制过去;不知道如何翻译的,也先把原文复制过去。保存.po文件之后,把联通生成的.mo文件一起上传到主题的languages目录,然后确定wp-config.php中的WPLANG后面有:zh_CN存在,刷新主题,就可以看到主题是中文的了,有些翻译不太好的,可以根据主题再重新编辑.po文件,导出,上传,覆盖,这就是我翻译的:

    55

    9,新手翻译,可以多看看一些已经有中文语言包的主题,主要是收集他们的翻译,学习翻译的技巧,当然,各位在翻译中,可以逐渐建立自己的翻译字典;Wopus之前也没有积累翻译字典,今后会逐渐积累;Wopus主题站的主题,大部分都没有中文包,各位如果有使用,并翻译的,可以把主题链接,.po和.mo文件发邮件给我们:support@wopus.org;我们将在主题中注明中文翻译者,一起为WordPress做贡献。

    10,如果插件有languages目录,当然翻译的教程也和这个一样,就不单独写一份了。

    11,有任何想法或者经验分享,可以到WordPress问答社区(http://faq.wopus.org)沟通。