ワードプレスのすべてのページの最上部や下部に、不要な改行や、不要な文字列が表示される場合の原因と修正方法を解説いたします。
ヘッダー部分やフッター部分に不要な改行や文字が表示される原因
ヘッダー部分やフッター部分に不要な改行や文字が表示される原因は、その多くが、テーマのPHPプログラムファイルや、ワードプレスの設定ファイルに、場違いで不要なコードや文字列が挿入されていることが原因となります。
例としまして、よくある事例としまして、このような状況になっているページのHTMLソースを見てみますと下記のようになっています。
? <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="pingback" href="http://localhost/wordpress/xmlrpc.php" /> <title>BG Ristorante .....
HTMLが始まる前に、?と改行が一つ入っています。これは、ワードプレスがサイトの表示を出力する際に、どこかのPHPプログラムファイルから不正な改行と?マークを持ってきて出力してしまっているからです。
不正な文字列を出力しているファイルは?
以下の場合分けで不正な文字列を出力するファイルをある程度予測することが可能です。
1 全ページの一番上部に不正な文字列が出力される
wp-config.php(管理画面にも出る場合),テーマのheader.php,functions.php がその原因であることが多いです。
2 全ページの最下部に不正な文字列が出力される
テーマのfooter.phpがその原因であることが多いです。
3 全ページのトップページではなく投稿の表示ページにのみ不正な文字列が出力される
テーマsingle.php,singler.php,post.php がその原因であることが多いです。
※その他不正な文字列が表示されるページに応じて、テーマのどのファイルにバグがあるかをある程度予測することが可能です。
参考 ワードプレスのテーマのプログラム構造の基礎
※上記ファイルに不正なコードが見つからない場合は、テーマの読み込みのプログラムファイルのどこか、もしくはプラグインのプログラムファイルの奥底のどこかに不正な文字列が差し込まれている場合もあります。この場合そのファイルを見つけるのはかなり難しくなります。専門家へご相談されることをお勧めいたします。
修正方法
原因となっているプログラムを詳細に調べて、PHPやHTMLの構造上おかしなコードが挿入されていないか調べます。
PHPやHTMLの構造上おかしなコードとは?
・HTMLのタグにちゃんと挟まれていない文字列
・PHPの始まりと終わりのタグ(<?php ?>)にちゃんと挟まれていない文字列
・タグが全角になっている文字列
・phpの終端タグ?>の後にある不正な改行や空白
・タグの中にある不正な全角、もしくは何らかの文字列
ーーー
この事例のwp-config.phpのコードを見てみると下記のようになっています。
最終行に不正な文字列(?)と改行があることがわかります。
このファイルはPHPプログラムのみしか含まないため、?>という閉じタグは必要なく、また、人為的なミスにより2重に閉じタグが生成されようとした結果、不要な?マークと改行が入っています。
wp-config.phpはワードプレスの設定が書き込まれていますので、ワードプレスの全頁を出力される際に最初に読みこまれるファイルです。
それゆえ、不正な文字列があるとすべてのページでその文字列がヘッダー部分に出力されてしまう形となります。
WordPress ワードプレスの不具合の修正を経験豊かな技術者が代行いたします。お気軽にご依頼・ご相談お送りください。