【WP】子テーマ作ったらワーニングが…?
先日、無料のレンタルサーバーを借りまして、ようやくWP(WordPress)が使えるようになったので、カスタマイズ用に子テーマを作ったところ、なにやらワーニングがでちゃいました。
こんなところにワーニングメッセージ!?
WPも初めて使うなら、PHPなんかもっと使ったことないのに、早々にこんなエラー出されても対処がわからんですよ。(´・ω・`)
それから子テーマについて。
WP触ったことがある人ならきっと常識なんだと思うけど、要はテーマをカスタマイズしたいときに作る複製。
オリジナルは親テーマとしてそのままにして、カスタマイズは複製側にかけるれば、テーマがアップデートされても影響が少なくて済むよねっ!っていう考え方らしい。
話は戻って、このエラーが原因でどうもWPのメディアライブラリがきちんと動いてない。(画像のアップロードとか表示ができなかった)
ワーニングメッセージの内容は?
メッセージの全文はこれ。※一部パスは消しています
header information – headers already sent by (output started at /home/~~/public_html/~~/twentyseventeen-child/functions.php:9) in /home/~~/public_html/wp-admin/includes/misc.php on line 1116
表示されたきっかけは間違いなくて子テーマ。
といっても、子テーマの作り方を紹介しているサイトを真似ながらstyle.cssとfunctions.phpを適用しただけなんですけどね~?
原因は?
結論から言うと function.php の記述に問題があったみたい。(追記)文字コードが原因でした。
最初に作成したstyle.cssとfunction.phpをSJISで作っちゃったようで、どうも2バイト文字や改行あたりが正しく認識されていなかったようです。
下がそのソース。
<?php
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style'));
}
?>
※←ここに改行
参考サイトと見比べても全く一致している(つーかコピーしてるし…)のに一体何が悪いのか…と、小一時間悩みましたが…。
とあるサイトでPHPのみが記述されたファイルには、コードを閉じるための ?> はいらないって記述を見つけまして、試しに消してみたところワーニングが消えまして、これがヒントになりいろいろ試した結果、直接の原因は ?> の記述ではなくその下に入っていた空改行のせいでしたとさ。
(追記)上にも書きましたが、今回の直接の原因は文字コードのせいでした。UTF-8に変換し再アップロードしたところ問題なく動きました。
わかるかよそんなんっ!(ノД`)
…いや、わかっても良さそうな原因だったな_(┐「ε:)_
ディスカッション
コメント一覧
まだ、コメントがありません