サポート » 使い方全般 » 自作のテーマが使えない

  • pitiful

    (@pitiful)


    初めて出会った現象で、解決方法が分からないので、
    分かる方は教えていただきたいです。

    エックスサーバーを使っていまして、
    ワードプレスの自動インストールを行いました。

    そして、自分で作ったzip形式のテーマを使用しました。

    問題なく使用できていると思ったのですが、
    テーマの編集やプラグインの有効化などを行うと、

    Warning: Cannot modify header information – headers already sent by
    というエラーが表示されました。
    そして、wp-includes/pluggable.php on line 876
    というエラーも一緒に表示されていました。

    気になる点としましては、
    ・ワードプレスにもともと備わっているテーマを使用した時は、このような表示が出ない
    ・functions.phpを完全に空の状態にすると、自作のテーマでもエラーが出なくなる

    といった感じです。

    初めての現象で、問題点などもよくわからないのですが
    これは、どのようにするのがよいのでしょうか?

    すいません、よろしくお願いします。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • モデレーター jim912

    (@jim912)

    自作テーマの functions.php のいずれかの原因である可能性が高いと思われます。

    1. UTF-8 BOM付の文字コードで編集されている
    2. phpタグの外(ファイルの最初や最後であることが多い)に改行がある
    トピック投稿者 pitiful

    (@pitiful)

    jim912さんの指摘していただきました箇所が問題ではないかもしれなかったです。

    私の場合は、UTF-8 BOM付の文字コードを変更するために、
    terapadでUTF-8Nにしましたが、ダメでした。

    また、ファイルの最初と最後に改行は無かったです。

    その他の部分についても、改行を全て取り除いてみましたが、ダメでした。

    ただ、エラーの時に、functions.php line on ~
    というように、エラーの行が出るので、
    それを削除してみるのですが、
    さらに下でまた同じようにエラーが出てしまい、
    の繰り返しで、結局functions.phpが空の状態でのみ問題が解決されるという状況です。

    nobita

    (@nobita)

    こんにちは

    ブログを表示して、ソースを表示してみてください。

    ソースの最初に、空行があれば、空行が、どのスクリプトを消した時に消えるか調べてみてください。

    また、ソースの中で、変数に入れる値が、エコーされていないかもチェックしてください。

    例えば、

    $title = the_title('','',false);

    $title = the_title();

    とかになっていると、echo してしまうので

    トピック投稿者 pitiful

    (@pitiful)

    ソースを表示してみたところ、ものすごい空行がありました。

    その空行については、
    functions.phpの<?php~?>を削除する量に応じて、
    空行も減っていました。

    ですが、やはりfunctions.phpが空の状態でのみ、
    エラーが発生しないという状況です。

    functions.phpのコードの内容が影響を与えているのかどうかがよくわからない、
    と思って若干不安です。

    nobita

    (@nobita)

    functions.phpのコードの内容が影響を与えているのかどうかがよくわからない、
    と思って若干不安です。

    書いてあるPHPコードをすべて削除しなければ、問題が解決しないという事なら、

    まずは、コードの問題をチェックする事です。

    もし他の原因を考えている場合は、Twentyeleven等のデフォルトテーマで、同じ問題が再現するかどうか確認してください。

    トピック投稿者 pitiful

    (@pitiful)

    いろいろといじってみましたが、
    結局回復しませんでした。

    とりあえず、自作のテーマを使用すると、「ファイルの更新」を
    クリックしたときに白い画面になってしまいます。
    (デバックをtrueにすると、Warning: Cannot modify header information – headers already sent byやwp-includes/pluggable.php on line 876というエラーが表示されます)

    プラグインを有効化した場合なども白い画面になります

    ただ、ファイルの更新やプラグインの有効化などは、白い画面が出た後に、
    ブラウザの「戻る」ボタンをクリックし、そして管理画面の別の画面をクリックしてみると、
    ファイルの更新やプラグインの有効化などは実際に行われています。
    (実行の前に、白い画面が入るという感じでしょうか)

    また、ログインをクリックしても、白い画面になるので、
    ログインが出来ないという現象にも出会いました。

    サーバーでワードプレスを入れ直すという最初のところから
    やり直してみて、
    何もいじっていない状態でTwenty Tenなどのデフォルトのテンプレートを
    使用する場合は、特に白い画面をいったん挟むということが起きません。

    ですが、自作のテーマをzip形式でインストールしたものを使用すると、
    白い画面が発生するようになります。

    原因として、なにが考えられるのでしょうか?
    また、解決策として、どういったものがあるのでしょうか?

    改めてになってしまい、申し訳ありませんが、よろしくお願いします。

    nobita

    (@nobita)

    サーバーでワードプレスを入れ直すという最初のところから
    やり直してみて、
    何もいじっていない状態でTwenty Tenなどのデフォルトのテンプレートを
    使用する場合は、特に白い画面をいったん挟むということが起きません。

    であれば、自作テーマのfunctions.phpに記述された内容に、問題があると思います。

    原因として、なにが考えられるのでしょうか?
    また、解決策として、どういったものがあるのでしょうか?

    functions.phpのコードが提供されていないので、具体的なことは書く事が出来ません

    コードの量が多ければ、

    http://pastebin.com/

    などにコードを貼り付けて、リンク先を書き込んでいただければ、解決のためのヒントをくれる人も出てくるかもしれないので、ソースを提供してください。

    トピック投稿者 pitiful

    (@pitiful)

    また、自分でいろいろとやってみましたが、
    functions.phpのコードの内容や量は関係ないみたいで、
    どのようなコードであっても、
    コードがある時に白い画面が挟まれる、という状況です。

    基本的には、エックスサーバーを空にして
    自作のテーマを入れただけなのですが、
    functions.phpも含め、なにか設定などが必要なのでしょうか?

    wizfreek

    (@wizfreek)

    http://nekonomemo.net/tips/3035/
    php.iniの設定?

    何にせよnobitaさんがおっしゃっているように、functions.phpのソースを提供していただいた方が、問題の切り分けができるかと思います。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「自作のテーマが使えない」には新たに返信することはできません。