使用柳城的WordPress百度sitemap生成插件在点击“Update XML file”按钮生成XML文件时出现“此站点遇到了致命错误”的提示,检查发现可能是WordPress Baidu Sitemap Generator插件在PHP 7+版本中无法正常使用。
由于插件作者已经很长时间没有更新维护这个插件,作者网站也已经打不开,无法反馈问题,同时目前好像也没有更好的替代生成百度sitemap xml文件的解决方案,那么想想就只能自己动手进行修复更新,使其能在php 7.0+上正常使用了。
修改教程
1、修改 baidu_sitemap.php 文件,文件路径:wp-content/plugins/baidu-sitemap-generator/baidu_sitemap.php
把第22行的
1
add_options_page(“Baidu-Sitemap”,”Baidu-Sitemap”,8,__FILE__,’baidu_sitemap_optionpage’);
修改为
1
add_options_page(“Baidu-Sitemap”,”Baidu-Sitemap”,”manage_options”,__FILE__,’baidu_sitemap_optionpage’);
提示:把8换成”manage_options”。
把308行的
1
list($today_year,$today_month,$today_day,$hour,$minute,$second)=split(‘([^0-9])’,$blogtime);
修改为
1
list($today_year,$today_month,$today_day,$hour,$minute,$second)=preg_split(‘([^0-9])’,$blogtime);
提示:把split换成preg_split。split在php 5.3版本之后就不建议继续使用,可以使用preg_split替代。
2、修改sitemap_function.php文件,文件路径:wp-content/plugins/baidu-sitemap-generator/sitemap_function.php
把439行的
1
list($today_year,$today_month,$today_day,$hour,$minute,$second)=split(‘([^0-9])’,$blogtime);
修改为
1
list($today_year,$today_month,$today_day,$hour,$minute,$second)=preg_split(‘([^0-9])’,$blogtime);
提示:和baidu_sitemap.php文件一样,替换不建议继续使用的php函数。
修改完成后,插件生成xml文件正常。
PS:在本地环境php 7.4.5中测试使用又没有报错~
版权:
转载请注明出处:https://www.qiqusoftware.com/wordpress-baidu-sitemap-generator%e6%8f%92%e4%bb%b6%e5%9c%a8php7%e7%89%88%e6%9c%ac%e4%b8%8d%e8%83%bd%e7%94%9f%e6%88%90xml%e6%96%87%e4%bb%b6%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/
还没有评论呢,快来抢沙发~