Baidu Sitemap Generator 报错且不更新解决办法

很多人在升级了PHP或者更换空间之后,会发现WordPress的百度 XMLSitemap 生成器插件出现问题,在点击Update XML file时会报如下错误:

Deprecated: Function split() is deprecated in /.../wp-content/plugins/baidu-sitemap-generator/sitemap-function.php on line 439

其实这是因为插件的开发环境比较老了,现在的高版本PHP已经废弃了一些函数所导致的,split这个函数在新版本不支持了,因此必须替换成高版本的函数。

🚫
本文介绍的解决方法是针对之前已经安装了插件,但是目前使用存在问题的这个现象,若您新装时出现问题,不妨按下面的解决办法修改之后再上传插件进行安装!

解决办法

我们一共需要修改两个地方,下面分别来叙述:

1、修改Sitemap Generator插件目录下的sitemap-function.php文件的439行和baidu_sitemap.php文件的308行改成如下:

list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = preg_split( '([^0-9])', $blogtime );

即使用preg_split替换掉split

2、修改baidu_sitemap.php

function baidu_sitemap_menu() {
   /** Add a page to the options section of the website **/
   if (current_user_can('manage_options'))
        add_options_page("Baidu-Sitemap","Baidu-Sitemap", 8, __FILE__, 'baidu_sitemap_optionpage')
}

找到上面这段代码,修改成下面的样子:

function baidu_sitemap_menu() {
   /** Add a page to the options section of the website **/
   if (current_user_can('manage_options'))
        add_options_page("Baidu-Sitemap","Baidu-Sitemap", 'manage_options', __FILE__, 'baidu_sitemap_optionpage');
}

即把8换成'manage_options'即可。