Baidu Sitemap Generator国人大神柳城编写的wordpress插件,可以生产网站的站点地图,可以同时生成XML和HTML两种格式,方便搜索引擎抓取,最近本站提升了php的版本,导致Baidu Sitemap Generator不能更新了,而且手动更新页面会白屏,经过一番查找,原来是Baidu Sitemap Generator在PHP7.0以上的版本不能很好的运行了,毕竟这个插件已经很久没有更新了,兼容性就要差一点。不过我们可以更改插件两处代码来使得它来兼容PHP7.0,方法如下:
将Sitemap Generator插件目录下的sitemap-function.php文件的439行和 baidu_sitemap.php文件的308行,使用preg_split替换掉split方法,改成如下:list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = preg_split( '([^0-9])', $blogtime );
之所以有两个地方要改,是因为一个是生成xml的地图所用函数,另一个是html所用,如果你需要记得一定要改,不然html地图不会更新!然后再修改baidu_sitemap.php文件的第19-23行,找到如下代码:function baidu_sitemap_menu() {
if (current_user_can('manage_options'))
add_options_page("Baidu-Sitemap","Baidu-Sitemap", 8, __FILE__, 'baidu_sitemap_optionpage');
}
将第22行中的数字8修改为字符串’manage_options’,修改后代码如下:function baidu_sitemap_menu() {
if (current_user_can('manage_options'))
add_options_page("Baidu-Sitemap","Baidu-Sitemap", 'manage_options', __FILE__, 'baidu_sitemap_optionpage');
}
小编通过这种方法,Baidu Sitemap Generator终于可以更新了,不过只能手动更新,不过也不算费事,完全可以接受。