ワードプレス全てindex.htmlになる

このQ&Aのポイント
  • ワードプレスの本を参考にホームページを作成中です。
  • themesフォルダに自作テーマを作り、固定ページのためのファイルを作成しました。
  • パーマリンクを設定してアクセスすると、すべてindex.phpの内容が表示されます。
回答を見る
  • ベストアンサー

ワードプレス 全てindex.htmlになる

ワードプレスの本を参考にホームページを作っています。 themesフォルダに自作テーマのためのフォルダを作り、index.php、cssファイル、header,footer.phpを作り、固定ページのためのpageファイルを作りました。 ダッシュボードから記事内容を記入して、パーマリンクを設定してアクセスしましたが、 localhost/wordpress (wordpressはアプリ名です)でアクセスしても、パーマリンクをbusinessとして追加した固定ページもすべて、アプリ名wordpressフォルダ直下のindex.phpの内容を表示しているようです。 ルーティングについて調べましたが、見当違いなことを調べてるのでしょうか?あまり解決につながる情報が見当たりません。 初歩的な質問で恐縮ですがよろしくお願いします。

  • PHP
  • 回答数3
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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です テーマのファイルにたどり着いていないという場合は まずはテーマの表示以前に出力がないか確かめて見てください

natyo4235
質問者

お礼

回答ありがとうございます。 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基本関数の読み込み エラー文を読んでみると、関数の読み込みからもうつまずいてるという印象なんですが、全く見当違いかもしれませんが、ワードプレスが正常にインストールできていないということでしょうか? 自作テーマ以外はいじっていないので、とりあえずもう一度インストールしなおしてみます。

natyo4235
質問者

補足

調べたところ結局bloginfo();がblog_info();になってただけでした・・・ お騒がせしました。

その他の回答 (2)

  • 4017B
  • ベストアンサー率73% (1305/1776)
回答No.2

とりあえず1から新規で自作するのでは無く、既存の公式テーマの中から自分の感性に合ったモノを選んで、それを丸ごとコピペしてフォルダ名とstyle.cssの冒頭部分の記述を書き換えて自分用自作練習テーマにして色々と弄りながらWPの仕組みを勉強して行った方が良いと思います。(Twentyシリーズを改造してみてください。 ローカル環境を用意出来てるみたいですので、仮に致命的な間違いをしても自PC内で済ませる事が出来るので、まあ大丈夫でしょう。やはりこう云うのは座学オンリーだとなかなか捗らないので。じゃんじゃん試してどんどん失敗してみてください。 P.S. WPのページテンプレートの仕組みはかなりややこしくて、10年選手の自分も理解するのにかなり苦戦しました。またWPは今現在も常にバージョンアップを繰り返して進化の途上にあり、その度に新機能や旧システムが変更されたりするので…今後もずっと走り続ける事が出来ない人には辛いだけのCMSかも…

natyo4235
質問者

お礼

回答ありがとうございました。

  • 4017B
  • ベストアンサー率73% (1305/1776)
回答No.1

嘘を書いていないのであれば見当違いの事をしてますね。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を設置するだけは何も起きません。

natyo4235
質問者

補足

回答ありがとうございます。 間違いがあったので訂正させてください。 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などありましたら、挙げていただければ幸いです。

関連するQ&A

  • ワードプレスに独自ドメイン

    サーバー内でフォルダ分けしたフォルダに、ドメイン/フォルダ名orパーマリンク/という形のURLでワードプレスのサイトを作ってきたのですが、このたび、独自ドメインを購入しましてワードプレスに割り当てることにしました。 レンタルサーバーはさくら、ドメインはお名前.COMで取得しました。 さくらで、トップページにドメインを割り当てたのはいいのですが、固定ページなどに入ると、以前のページのURLになってしまいます。 固定ページを 買った独自ドメイン/フォルダ名orパーマリンク にするにはどのようにしたらいいでしょうか?

    • ベストアンサー
    • CSS
  • wordpressのindex.phpへの書き込み

    現在、wordpressにてEngrave(有料版)を使用しています。(リンク先1参照) wordpressはphpというプログラム言語で構成されているため、 各ページの名前の最後に「.php」という拡張子がついています。 このEngrave(有料版)において、TOPページに「お問い合わせフォーム」を表示させたいのですが、 HPのトップページは「トップページ」を表す「index」に「.php」がつき、「index.php」のページとして表示されます。 そのため、トップページに「お問い合わせフォーム」を表示させるには、「index.php」の最後に「お問い合わせフォーム」作成時にできたショートコードを最後に記述する必要があります。 (リンク先2・「お問い合わせフォーム」の作成方法とそのショートコードに関して) この操作を教えてください。 お願いいたします。 リンク先1:https://www.thinkupthemes.com/themes/engrave/ リンク先2:https://www.adminweb.jp/wordpress-plugin/list/index10.html

    • 締切済み
    • PHP
  • index.phpをindex.htmlにしたい

    htmlをphpとして動かすのではなく、拡張子がphpのものをhtmlとして動作させる事はできないのでしょうか。 特に公開する訳ではなく練習でホームページを作っており、index.htmlをindex.phpに変更し、その二つを同じ挙動にしたいです。 ドメイン名+index.phpでアクセスすればサイトは全体的に動作するのですが、ドメインのみでアクセスした場合、index.phpは表示されますが別のリンクからindex.phpに飛ぼうとするとうまく表示されません。これは、html拡張子の場合発生しません。 bootstrapを使用したレスポンシブのテンプレートを使用しています。 実際にphpを動作させたいのではなく、index.phpというファイルをindex.htmlと同じ様に動作させたいのです。二つのファイルの中身は全く一緒です。 ドメインのみでアクセスし、サイト内のどのリンクからトップページに飛んでも問題なく表示され、アドレスの欄にはindex.phpと表示させたいです。 変わった質問ですが、どうぞよろしくお願いします。

  • ワードプレス

    wordpressで トップページはwordpressで作り、wordpressにアンカー要素をつけその他のページは自分で作ったphp,htmlファイルをアップロード、することはできますか?

  • ワードプレスでCMS構築

    こんにちは、ワードプレス初心者です。よろしくお願いします。 ワードプレスを導入し、CMSとして機能させたいのですが、自分なりにテスト制作した際のやり方がどうも無理矢理な気がするので、制作会社勤務レベルの方はどのような方法でワードプレスを使ったCMSサイトを作っているのか知りたいと思い質問に至りました。 以下、自分なりに作ってみた内容ですが、 サイトのトップページはドメイン直下のルートに自作のトップページ[index.php]を作って設置。 ブログコンテンツを 「ルート/wp(任意)/wp-content/themes/自作テンプレート/index.php他header.php等設置」とし、 個人情報保護方針や会社概要などの「ブログではない」静的ページを ワードプレス管理から固定ページとして設置した後、固定ページ用の[page.php]を整えて設置。 以上のような構成で制作し、動くっちゃ動く・・・ものが出来ました。 ここで疑問が出てきたのですが、 ブログではない静的コンテンツ、ドメイン直下のトップページ以外の他ページも全て固定ページで作成設置し、CMS化されたページとしてワードプレスの管理から編集できるように設置するのはワードプレスをCMSとして利用する方法としては邪道なんでしょうか? 疑問に思った部分は、 ヘッダー常駐の自作のグローバルメニューに設置するリンク先が、パスを追ったファイル名ではなく、固定ページ設置で作成されたパーマリンクになりますよね? 設定次第では「/wp/%E5%80%8B%E4%BA%BA・・・」のようなリンク先になってしまいますし、 「こんなんでいいのか?」と思ったんです。 ユーザーから見たページ遷移は問題ないでしょうし、第三者が文言の修正をしたい場合でもワードプレス管理から編集が可能なものにはなっていると思います。 ですが、SEOやクローラビりティの面から見た場合、このようなワードプレスの使い方はどうなんでしょうか?  また、この方法だとhtml5の文書構造タグとワードプレスのphpタグの調整などが自分にとっては結構面倒だったので、こうじゃないんだとろうなぁと思いながら固定ページをしこしこ作ってました・・・。 経験も知識もないのでこれで納得していいのか判断がつきません・・・。  また、普通、業者レベルなどでワードプレスをCMSツールとして利用する時はどのような扱いで構築をするものなのでしょうか??

  • index.htmlについて

    お世話になります 先日レンタルサーバーを借用しホームページを仮開設しました index.htmlについてお聞きしたいのですがローカルサーバーだと http ://127.0.0.1/フォルダ名/サブフォルダ名/ などのようにするとサブフォルダ内にindex.htmlが無いとファイルインデックスが表示されますが同様のことをレンタルサーバー上でやってもアクセス拒否されるだけです Q1.ホームページを作るときは最上層フォルダにindex.htmlを置いておいて下層フォルダにはおいておく必要は無いのでしょうか? Q2.index.htmlがTOPページ扱いになると思うのですが ・ファイルインデックスをさせないためだけのページ ・玄関としてのENTER PAGEとして作る ・TOP PAGEとして作りこむ のどれが一番適切な扱いなのでしょうか?

    • ベストアンサー
    • CSS
  • wordpress パーマリンク設定時にURLに表示される/index

    wordpress パーマリンク設定時にURLに表示される/index.phpを削除したいです。 wordpessをインストールしパーマリンクを、設定画面(wp-admin/options-permalink.php)の上から2番目「日付と投稿名」にしましたところ、デフォルトで /index.php/%year%/%monthnum%/%day%/%postname%/ となってしまいます。実際投稿しましても、 http://xxxx.com/indexphp/2010/・・・ と表示されてしまいます。このURLに含まれるindex.phpを削除したいです。 設定画面に戻り、5番目の「カスタム構造 」を選択し、先頭の「/index.php」削除し保存、さらに投稿をしましたところ、投稿ページのURLは希望通りになっているものの、ウェブサイトは表示されません。 サーバーはhtaccess、mod_rewriteは使える仕様になっております。同様の要件が必要となる別のスクリプトで動作確認しております。 どのようにすれば、解決できるでしょうか。 すみません、当方のphpスキルはあまり高くなく、wordpress歴三か月です。 よろしくおねがいします。

    • ベストアンサー
    • PHP
  • ワードプレスのCSSの書き換え

    今日、WordPress2.5をインストールしました。 デザインは「default1.6」で、背景色などを変えようとしたのですが、その方法が良く分かりません。教えて下さい。 なお、これは最初から入っていたデザインです。 ブログ全体のフォルダのパーミッションは、アップ後に「755」にしました。 http://codex.wordpress.org/Changing_File_Permissions 上記ページを何とか読んで、かなりいい加減ですが・・・ 「index.php」を「666」にしました。 RTLスタイルシート(rtl.css) スタイルシート(styl.css) を書き換えて、サイトの確認を見ると変更されて無く、元に戻ると書き換えではなく、元の様に戻っています。 「index.php」のパーミッションを「755」でも書き換えは出来ませんでした。 書き換えを反映させるにはどうしたらいいのでしょうか。 宜しくお願いします。

  • index.html と index.php

    PHPの使えるサーバーで、 1.index.html だったものを途中から index.php に変更した場合、 これはアドレスが変更になったということになるのでしょうか? ※ index.html のときに「お気に入り」して、その後 index.php に変更に なった場合、「お気に入り」で同じページに入って来れるでしょうか? 2.index.php のファイル名の中に全く PHP を使わなかった場合、 このページは静的なページとなるのでしょうか?動的なページでしょうか? ※ <?php ~ ?> を含まず、HTML のみで記述して .php で保存した場合、 静的ページになるのか動的ページになるのかということです。 どうぞご回答をよろしくお願いします。

  • ワードプレスのhtmlファイル名について

    現在、ワードプレス 3.4.2を使っています。 新しい記事を作成しようとすると自動で、 投稿画面の記事タイトルの下に、 例) パーマリンク: http://abc.net/80.html と表示され、ファイル名が勝手に80.htmlとかつきます。 しかも、新しい記事を作成しようとするごとに ファイル名の数値はランダムにつきます。 次に新しい記事を作成しようとすると、 パーマリンク: http://abc.net/6.html とかつきます。 このhtmlファイルのファイル名を手動でつけることは できないのでしょうか? また、このhtmlファイルの保存場所が、 サーバにアップしているフォルダのどこに保存されているのかが わかりません。 関係あるのかわからないのですが、現在のパーマリンク設定は、 カスタム構造で /%post_id%.html を入れています。 ↑ これが関係あるのかわからないのですが、 htmlファイル名を手動でつける方法がありましたら教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう