wordpress有新版本时,怎样升级wordpress比较好?
WP菜鸟建站24:wordpress有新版本时,怎样升级wordpress比较好?
作为wordpress站长的你,有没有碰到过这样的问题:你wordpress网站所在的空间商发邮件提示你,你的wordpress有漏洞,需要及时修正。我就碰到过这样的情况,我的网站所在空间商是阿里云,阿里云通过邮件提示我——你的1以主机在本次安全扫描中发现了1个漏洞,请及时修复。进入阿里云后台查看详细介绍时,才了解到,原来是wordpress旧版本被发现有漏洞,建议我们升级到最新版本的wordpress。那么,我们怎样给我们网站的wordpress程序升级比较好呢?
方法一:让wordpress程序自动升级更新。
使用这种方法的好处是,一旦wordpress有新版本出来,就会马上在后台对wordpress进行更新。但它也是有不好的一面的,主要体在以下2点上:
1、因为是最新版本,还没有进行过大量的测试,是否有bug,还需要wordpress高手们去努力发现。
2、如果我们的网站空间是在国内,而不是国外的服务器,在wordpress进行自动升级时,可能会出现升级不成功的情况,原因很简单,一些国外的网站在国内打开慢,甚至打不开,比如:google网站在国内就打不开。
如果想用这个wordpress的自动升级方法,我们该怎样实现呢?wordpress默认是不提供自动升级的,它只会在后台的仪表盘页面提示有新版本。
如果真想让wordpress自动升级,可以通过2种手段来实现。
1、通过插件来实现wordpress的自动升级。
在wordpress后台的插件界面安装一个叫 Easy Updates Manager的插件,这是一个官方插件,也可以到wordpress官网去下载这个插件后,现直传安装。安装完成后,启用这个Easy Updates Manager插件,并在插件设置页面进行相关的设置。在“常规设置”部分,点击“wordpress内核更新”按钮下的“启用内核更新”部分。设置完成后,我们的wordpress就可以自动升级最新版本的wordpress。
2、通过代码形式来实现wordpress的自动升级。
如果不想使用插件,我们也可以通过wordpress提供的代码来实现wordpress的自动升级。我们打开wordpress根目录下/wp-config.php文件,这是一个配置文件,在这个文件的底部添加下面这句代码,开放wordpress自动升级功能。
define('WP_AUTO_UPDATE_CORE', ture);
上面这句代码的意思是:当wordpress的主题、插件有新版本时,不管是开发版,还是小版本或大版本,都会自动升级更新。
如果想在升级时做出相应的版本限制,可以使用如下2句:
define('WP_AUTO_UPDATE_CORE', false); //开发版,小版本,大版本都不会自动更新define('WP_AUTO_UPDATE_CORE', minor); //只更新小版本
如查只想自动升级wordpress程序,而不想升级其它东西(如:插件、主题),可以将下面这些语句添加到当前的wordpress主题的functions.php文件中:
add_filter( ‘auto_update_plugin’, ‘__return_false’); // 关闭插件自动更新add_filter( ‘auto_update_theme’, ‘__return_false’); //关闭主题自动更新add_filter( ‘auto_update_translation’, ‘__return_false’);// 关闭翻译自动更新如果想开启自动更新,可以把第二个参数改成__return_true 。
方法二:手动更新wordpress程序到新版本。
wordpress的自动升级虽然很方便,但是,如要你的网站空间是在国内,就不建议使用它——毕竟存在一些不可预期的风险。建议大家最好还是手动升级我们的wordpress网站。
手动升级wordpress的最大好处就是,我们可以把wordpress降级到任何一个老版本,也可以把wordpress升级到任何一个新版本。当然,最重要的是,我们可以把我wordpress升级到一个稳定版,而不会像自动升级时,升级到一个不稳定的测试版。
怎么手机升级wordpress版本?我们分以下几步走:
1、下载想要升级的wordpress版本。
怎样找到自己想要的wordpress版本?我们进入到wordpress中文官网(cn. wordpress. org),点击“获取wordpress”按钮,如下图:
如果想下载最新版本,可以直接点击“下载wordpress x.x.x”这个按钮进行下载;
如果想查找其它版本,可以点击这个页面中的“全部发布”,进入到所有版本的wordpress下载页面,如下图:
2、解压下载的wordpress压缩文件。
当然,我们也可以直接上传压缩文件到网站,再在网站后台进行解压。但是,这次我们是要升级wordpress,而不是全新安装,所以,我们先在这里解压文件。
3、通过FTP工具覆盖上传wordpress文件。
因为我们是升级wordpress程序,所以, 不是解压后的所有文件都要上传覆盖。比如:wp-content目录里是我们安装过的插件和主题模板、媒体图片等相关的东西,不是wordpress核心代码,基本上可以不选择覆盖。所以,我们上传是只选择核心目录“wp-admin 和 wp-includes”,这样会节省一些上传的时间(如果网速慢)。当然,我们也可以全覆盖上传安装,毕竟覆盖安装,只会覆盖原有的文件,而其它非wordpress程序的文件,会原封不动地放在那里。如何使用FTP工具上传?可以参阅我们前面的文章。
不管是自动升级wordpress程序,还是手动升级,我们都要注重网站的安全性,千万不要因为升级,而影响网站的稳定性,毕竟,网站的正常运行,比什么新花样都来得实惠。如果你有不同意见,欢迎点评或私信我。
一文搞懂什么是WordPress的钩子
wordpress钩子是开发wordpress主题和插件中很重要的一个概念,搞懂wordpress钩子,可以帮让我们在开发主题时事半功倍。
WordPress常用的有两种钩子,一种是动作(action),另外一种是过滤器(filter)钩子。
动作钩子概念动作钩子是wordpress代码执行到某处或某个事件发生时触发的一系列函数,插件可以利用动作钩子API在WP代码执行的特定点之前插入一系列函数以控制执行。它跟过滤钩子极像,唯一不同的是过滤钩子返回一个处理后的值,而动作钩子仅完成函数执行并不返回值,如果钩子不存在则返回NULL并新增该钩子。
过滤钩子原理其实动作钩子和过滤钩子它们的实现原理是一样的。它主要利用一个全局变量$wp_filter,增加动作函数时使用add_action()函数给全局变量$wp_filter增加了一个数组元素,这个元素键名中含有钩子名,值中含有对应函数及执行优先级等信息,在调用do_action()函数使用动作钩子时,它通过循环查找出所有跟钩子关联的函数并将其依次调用,最后返回处理后的数据。
语法结构add_action($hook,$function_to_add,$priority = 10,$accepted_args = 1)
add_action()作用:该函数用于给指定的动作钩子$hook添加指定的挂载函数$function_to_add,同时它可以确定挂载函数执行优先级及其可接收参数个数;
$hook 为钩子名
$function_to_add 为挂载函数名
可选参数$priority为该挂载函数执行的优先级,默认为10,该数字越小则越早执行,数字相同则按其添加到钩子上的顺序执行,越早添加越早执行
可选参数$accepted_args确定挂载函数接收的参数个数,默认为1
之前写过这个函数,感兴趣的可以详细了解:add_action
例子说明在wp-includes/general-template.php文件中有一个wp_head动作钩子,我们可以看看这个动作钩子函数
function wp_head() {
do_action('wp_head');
}
其中里面有个do_action,定义了wp_head钩子,我们在用这个钩子的时候使用了add_action(‘wp_head’, ‘xxzhuti_wp_head’),由此可见do_action定义了一个动作,并且执行了定义的这个动作,根据这个原理我们也可以用do_action定义自己的动作钩子。