解决WordPress 打开Feed页面“This page contains the following errors…”的问题

17,788
解决WordPress 打开Feed页面“This page contains the following errors…”的问题
  • 4.37 / 5 5
4.37分(8票)

趁着国庆假,今天解决了 Jeff的阳台 的Geekwork主题的几个bug。其中一个是打开feed页面(即http://www.jianhui.org/feed)会显示“This page contains the following errors:error on line 2 at column 6: XML declaration allowed only at the start of the document  Below is a rendering of the page up to the first error.”的错误。

更详细的错误细节

IE 中会有类似““无效的 xml 声明, 行: 2 字符: 6””的提醒;

火狐浏览器中:XML解析错误:xml处理指令不在实体的开始部分 位置:http://localhost/wordpress/?feed=rss2 行:2,列:1: <?xml version=”1.0″ encoding=”UTF-8″?>

图片演示:

解决方法

经过多次搜索以及实践,出现该问题的原因是代码书写不规范:某些php文件 <?php前或 ?>后有空格或空行。

如果自己修改过主题的可能会在复制人家代码的时候导致 <?php前或 ?>后有空格或空行。如下面:

EA3A3A6C7C92D02482FA75B8C2595554_337_124

64EF15D997A3B1690CE64D440A7B999F_286_123

还有要注意的其他“空格”的地方:

<?php是不能有空格及其他字符分开的。<?php?> 是PHP的默认语法,而<??>则是短标记方法,需要在php.ini中开启short_open_tag指令的。
<?后面紧跟着php,之间没有空格;是<?php 而不是 <? php

总之要做的是:找出不该存在的空格或空行,删除之即可。

喵~本文目前有8条留言,欢迎发表评论!

  1. 板凳也不错
    :

    😀 谢谢博主,用你的方法,我的谷歌网站地图也没错误了,只删除了几个空行,哈哈哈,非常感谢

    [回复]
    • :

      我的谷歌网站地图也是这个错误,你能告诉我怎么改的吗

      [回复]
  2. 传说中的沙发
    :

    我的网站feed就有这个问题。包含在html中的php前后空格也要删除吗

    [回复]
    • 不懂你啥意思,反正< ?php 前面空格、?>后面空格有的就要删除

      [回复]
      • 比如我有一段代码:
        <li id=”comment-“>
        <div id="div-comment-” class=”comment-body”>
        是这样子的。

        [回复]
        • html的没问题的,以上仅针对php代码

          [回复]
          • 你这评论框有啥问题,我粘贴的PHP都没了。其实是相当于这样:

            <ul>
            <li> <PHP代码在这>
            </li>
            <ul>

            [回复]
            • 应该也没问题的啊,文中所说有空格的php代码主要是在functions.php 文件下及其引用的php文件

              [回复]

打破沉默,我来发表评论鸟~