• 注册
  • 个人说明:TA有点懒了,什么都没有写。
    关注 1 粉丝 0 喜欢 0 内容 256
    河南省·郑州市
    聊天 送礼

    新版界面开发进度

    14%
    其实就是啥也没写,只有想法,哈哈
    • 回帖总排行
    • 采纳总排行

    分享精彩给好友

    全部文章 关注:0 内容:1074

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

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 前几天升级了系统环境,web环境也进行了大升级,效果很明显,打开博客是不是被我的WordPress速度惊到了呢?

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

       preg_split 替换掉 split

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

      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网站地图插件是否仍在正常工作,查看网站地图中的最新更新日期是否正确!

      你需要登录,才能进行发帖操作