• 注册
  • 看我脸色
    看我脸色套图达人
    个人签名:就是喜欢美的东西。
    关注1 粉丝1 喜欢0内容256
    上海 · 晴 15-30℃
    全部文章 全部文章 关注:0 内容:1070

    Baidu Sitemap Generator网站地图插件白屏不更新解决办法【转】

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 全部文章
    • LV.1 新手
      套图达人

      前几天升级了系统环境,web环境也进行了大升级,效果很明显,打开博客是不是被我的WordPress速度惊到了呢?

      网站打开速度是提升了,各种问题也接踵而至,今天我发现百度并没有收录我近几天的文章,于是查看了下站点地图,发现一个重大问题,站点地图没有更新,最新记录仍然停留在升级系统环境之前。于是打算进后台手动点击按钮更新下地图,然而点击插件的更新按钮后却出现白屏什么内容都没有。开始我还以为是文件没有写权限,检查权限后并没有发现权限问题。估计是PHP的问题,因为我已经经历过好几次PHP不兼容的问题了。百度后发现不少网友有过Baidu Sitemap Generator插件白屏不更新网站地图的经历,于是按照如下方法修改了Baidu Sitemap Generator插件中不兼容的PHP代码。

       preg_split 替换掉 split

      PHP说明文档上明确说明,split方法支持版本为PHP4、PHP5。并建议放弃它,preg_split可以替代它。

      Baidu Sitemap Generator网站地图插件白屏不更新解决办法【转】

      preg_split 替换掉 split

      将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() {
      /** 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');
      }

      将第22行中的数字8修改为字符串’manage_options’,修改后代码如下:

      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');
      }

      保存后替换掉原文件即可。这次问题波及所有PHP7及以上版本,请注意检查你们的Baidu Sitemap Generator网站地图插件是否仍在正常工作,查看网站地图中的最新更新日期是否正确!

      请登录之后再进行评论

      登录
    • 帖子间隔 侧栏位置: