- ベストアンサー
ワードプレス全てindex.htmlになる
- ワードプレスの本を参考にホームページを作成中です。
- themesフォルダに自作テーマを作り、固定ページのためのファイルを作成しました。
- パーマリンクを設定してアクセスすると、すべてindex.phpの内容が表示されます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
style.cssとfunctions.phpが最低限なのは子テーマです 通常テーマで最低限はstyle.cssとindex.phpであってます >アプリ名wordpressフォルダ直下のindex.phpの内容を表示している これは正しい動作です、 wordpress/index.phpを起点に、大まかには →WP基本関数の読み込み(一部を除く) →WP基本情報の読み込み(DB接続、テーマ・プラグイン情報など) →プラグインの読み込み、 →テーマのfunctions.phpの読み込み →WP拡張可能関数の読み込み →サイト設定のセットアップ(投稿タイプやカテゴリの設定など) →テーマの表示 と順次処理を行っていきます ここでとりあえず注意すべき点は テーマの表示までに先に出力があるとテーマの表示直前で ファイルヘッダーを出力できずにエラーになって処理が止まる ということです wordpress/index.phpの他、テーマ以外のファイルを 書き換えてしまってないでしょうか? あるいはwordpress/index.phpにechoなり 出力を伴う処理を付け足してはいませんか? その他テーマの表示以前の処理で出力を伴っている場所はないですか? よくやらかすのはテーマのfunctions.phpです テーマのファイルにたどり着いていないという場合は まずはテーマの表示以前に出力がないか確かめて見てください
その他の回答 (2)
- 4017B
- ベストアンサー率73% (1336/1814)
とりあえず1から新規で自作するのでは無く、既存の公式テーマの中から自分の感性に合ったモノを選んで、それを丸ごとコピペしてフォルダ名とstyle.cssの冒頭部分の記述を書き換えて自分用自作練習テーマにして色々と弄りながらWPの仕組みを勉強して行った方が良いと思います。(Twentyシリーズを改造してみてください。 ローカル環境を用意出来てるみたいですので、仮に致命的な間違いをしても自PC内で済ませる事が出来るので、まあ大丈夫でしょう。やはりこう云うのは座学オンリーだとなかなか捗らないので。じゃんじゃん試してどんどん失敗してみてください。 P.S. WPのページテンプレートの仕組みはかなりややこしくて、10年選手の自分も理解するのにかなり苦戦しました。またWPは今現在も常にバージョンアップを繰り返して進化の途上にあり、その度に新機能や旧システムが変更されたりするので…今後もずっと走り続ける事が出来ない人には辛いだけのCMSかも…
お礼
回答ありがとうございました。
- 4017B
- ベストアンサー率73% (1336/1814)
嘘を書いていないのであれば見当違いの事をしてますね。wp自作テーマに最低限必須なのは「style.css」と「functions.php」の2つです。それ以外は無くてもwp本体側で自動的に補完される仕組みですので、自分の技量に応じて徐々に付け足して行く感じになります。 この場合、上記の「style.css」と「functions.php」の必須ファイルが存在しない訳ですから、そもそもテーマとしてwp本体側に認識されていないはずです。故に見当違いの事をしていると思われます。 正しく自作テーマが設定されているのであれば、wp本体側の管理画面から「外観→テーマ」と入ればそこに自作テーマが選択肢として表示されます。そこに出ないのであれば前述の通り必須ファイルが存在しないため、wp本体側にテーマとして認識されていないです。 P.S. wpではheader.phpにしろfooter.php、全てのテンプレートphpはfunctions.phpを起点として作動する仕組みです。フォルダを作ってテンプレート用phpを設置するだけは何も起きません。
補足
回答ありがとうございます。 間違いがあったので訂正させてください。 localhost/wordpress/businessでアクセスすると何も表示されない状態です。 >この場合、上記の「style.css」と「functions.php」の必須ファイルが存在しない訳ですから、そもそもテーマとしてwp本体側に認識されていないはずです。 自作テーマに必須なファイルはstyle.cssとindex.phpと認識しています。 style.cssは既にあります。 試しにindex.phpをデスクトップに移動してhttp://localhost/wordpressにアクセスしてみると、 「テンプレートが不足しています。独立したテーマには index.php テンプレートファイルが必要です。子テーマでは style.css スタイルシートにテンプレートヘッダーが必要です。」 とエラーが出ました。 functions.phpは質問前も今もプロジェクトフォルダ直下に入れていません。 で、ちゃんとダッシュボードのテーマのところから自作テーマが選択可能になっています。有効化もちゃんとされてます。 「Codex によると、 style.css と index.php だけで作れるみたいですけど…。」 上の文を含むURL http://qiita.com/nagasawaaaa/items/831dfaf137639f54a664 >wpではheader.phpにしろfooter.php、全てのテンプレートphpはfunctions.phpを起点として作動する仕組みです。 見落としてるかもしれませんが、ざっと本を見る限り、こういったことは書かれていないようです。 固定ページを表示するために header.php、footer.php、page.phpを作りダッシュボードから固定ページを新規追加して、はい表示できたでしょ?というような流れになっています。 このあたりに何かヒントがあるかもしれないので参考URLなどありましたら、挙げていただければ幸いです。
お礼
回答ありがとうございます。 htmlのtitleにエラーが出ているのに気が付いたので載せておきます。 Fatal error</b>: Uncaught Error: Call to undefined function blog_info() in C:\xampp\htdocs\wordpress\wp-content\themes\sample_marketing\header.php:8 Stack trace: #0 C:\xampp\htdocs\wordpress\wp-includes\template.php(688): require_once() #1 C:\xampp\htdocs\wordpress\wp-includes\template.php(647): load_template('C:\\xampp\\htdocs...', true) #2 C:\xampp\htdocs\wordpress\wp-includes\general-template.php(45): locate_template(Array, true) #3 C:\xampp\htdocs\wordpress\wp-content\themes\sample_marketing\page.php(1): get_header() #4 C:\xampp\htdocs\wordpress\wp-includes\template-loader.php(74): include('C:\\xampp\\htdocs...') #5 C:\xampp\htdocs\wordpress\wp-blog-header.php(19): require_once('C:\\xampp\\htdocs...') #6 C:\xampp\htdocs\wordpress\index.php(17): require('C:\\xampp\\htdocs...') #7 {main} thrown in <b>C:\xampp\htdocs\wordpress\wp-content\themes\sample_marketing\header.php</b> on line <b>8</b><br /> >WP基本関数の読み込み エラー文を読んでみると、関数の読み込みからもうつまずいてるという印象なんですが、全く見当違いかもしれませんが、ワードプレスが正常にインストールできていないということでしょうか? 自作テーマ以外はいじっていないので、とりあえずもう一度インストールしなおしてみます。
補足
調べたところ結局bloginfo();がblog_info();になってただけでした・・・ お騒がせしました。