google chrome報的錯誤如下:
翻譯過來的錯誤就是:xml文檔申明只能在文檔的開頭部分。
于是我點開chrome的源文件看了,奇怪的是文檔最上面有了三個空行,xml的文檔是從第四行才開始出現的,難怪會報錯的。
整理插件:一開始我以為是最近新裝的一些插件的問題,于是乎我跑到后臺,禁用了無覓、多說等插件,回頭發現這個空行依舊存在,一怒之下我一個一個插件禁用測試,后來發現依舊無法解決。
搜索解決方案:百度這個錯誤找了半天也沒啥內容(這也正應了百度搜索不出東西的說法),google之后,在wordpress論壇發現了一個相似的問題,只不過那個作者報錯的是第2行,我是第四行。按照下面的說法,下載了一位大神提供的fix-rss-feed的插件,該插件都已經更新到3.1版本了。抱著極大的希望,裝好后得到了極大的失望??磥磉€不是這個問題啊。
自己動手,豐衣足食:無奈之下,我只得自己一步一步調試了,先從index.php開始,用echo 'test'來進行測試,看看test出現的是在三個空行的上面還是下面,直到我一路跟蹤到wp-setting.php中下面這段代碼時候,echo 'test' 在前后的內容不一樣了:
- // Load the functions for the active theme, for both parent and child theme if applicable.
- if ( ! defined( 'WP_INSTALLING' ) || 'wp-activate.php' === $pagenow ) {
- if ( TEMPLATEPATH !== STYLESHEETPATH && file_exists( STYLESHEETPATH . '/functions.php' ) )
- include( STYLESHEETPATH . '/functions.php' );
- if ( file_exists( TEMPLATEPATH . '/functions.php' ) )
- include( TEMPLATEPATH . '/functions.php' ); }
如果你懂php就能直到上述部分載入了主題下的funcitons.php頁面,因此我們可以斷定問題就出在這里了,轉到主題的functions.php中,我們可以發現有這樣一段代碼:
- echo "</div>n";
- }
- } ?>
- <?php
- //移去頭部不需要的代碼
- remove_action('wp_head', 'rsd_link');
- remove_action('wp_head', 'wlwmanifest_link');
- remove_action('wp_head', 'wp_generator');
- remove_action('wp_head', 'start_post_rel_link');
移去頭部不需要的代碼是我從我愛水煮魚的博客找到去除博客頭部一些無用信息的,但是加了一個php的開始符,而這段代碼與上一段代碼之間,剛好就有了三行的空白,原來問題在這里!
總結:從wp-setting.php中就可以看出wordpress中主題的functions.php的層級還是蠻高的,因為主題在很多頁面中不一定會展示出來,但是里面用到的一些鉤子,和一些非顯示元素的改變則需要這個文件來支撐.
新聞熱點
疑難解答
圖片精選