サポート » 使い方全般 » ワードプレスはの下に何も記載してはいけないのでしょうか?

  • 解決済 wordfile

    (@wordfile)


    ワードプレスは<?php get_footer(); ?>の下に何も記載してはいけないのでしょうか?

    下記のようにすると問題が起きないのに逆にするとエラーが出ます。
    <?php get_drawermenu(); ?>
    <?php get_footer(); ?>

    初心者なので恐縮kですが、drawermenuなどマイナーなパーツは独立させることはできないのでしょうか?

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • CG

    (@du-bist-der-lenz)

    WordPressは動的ウェブサイトですから、習慣としてフッターが読まれてhtmlプログラムが完結すると認識を持っています。

    やっぱりコーディングの都合上<?php get_footer(); ?>の下にdrawermenuなど、最後に置いておきたいからそこにおいてよいわけではなく随分と縛りがあるようですね。

    コーダーはそれに合わせてdrawermenueは仕方がないので始めにつまりheaderの直後にもって来るかfooterの直前に持ってくるかいっそのことfooterの中に入れるしかないという事ですね。

    この場合はfooterの中に入れますか?

    こんにちは

    初心者なので恐縮kですが、drawermenuなどマイナーなパーツは独立させることはできないのでしょうか?

    そのマイナーな関数は、どこで配布しているものですか?自分で書いたコードですか?

    配布元があるなら、配布元URL
    自分で書いたものなら、そのコードを提示しておくと回答がつきやすいかもしれません

    • この返信は5 ヶ月、 1 週前に  nobita さんが編集しました。
    gblsm

    (@gblsm)

    OKWAVEに投稿された(回答はついていない)下記の質問と同じ内容でしょうか?
    https://okwave.jp/qa/q9328924.html

    • この返信は5 ヶ月前に  gblsm さんが編集しました。
    wordfile

    (@wordfile)

    JSしかしらない初心者なので、<?php get_footer(); ?>の意味がちゃんと分かっておりませんでした。

    get_footer();はただfooter.phpの相対パスを指定しているのかと思っていたのですが、
    (今回は引数が空なので、カレントディレクトりなのですかね?)
    index.phpのカレントディレクトリにあるfooter.phpの内容を添付するというphpの関数だったという事ですね。

    つまり、footer()はあってもdrewermenu()という関数はないのでdrewermenuについては分離できないという事ですかね。

    するとfooterの中に入れるしかないですかね?

    LABE

    (@latobeam)

    get_template_part() という関数を使えば任意のPHPファイルを読み込むことができます。
    例えば drawermenu.php というファイルを読み込む場合は get_template_part('drawermenu'); というふうにすれば読み込めます。
    サブディレクトリのファイルも get_template_part('example/drawermenu'); のように書くと読み込めます。

    index.php や footer.php のあるディレクトリは仕様で決まっていて(テーマディレクトリ)、カレントディレクトリといった概念とは異なると考えたほうがいいと思います。
    footer.php を読み込むのはWordPressではよくあることなので、 get_footer() という関数が用意されているのだと思っています。

    なお footer.php には普通 wp_footer() なんかを記述しますが、実際にはこの関数さえどこかに書いておけば index.php のみでもページを表示させることはできます。
    wp_footer()</body> の直前に書くのが普通ですが、必要ならその後に任意のPHPやHTMLを追加することも基本的には可能なはずです。

    • この返信は5 ヶ月前に  LABE さんが編集しました。
    モデレーター Okamoto Hidetaka

    (@hideokamoto)

    > ワードプレスは<?php get_footer(); ?>の下に何も記載してはいけないのでしょうか?

    get_footer();で読み込まれているファイルの内容によります。

    この関数は関数リファレンスで以下のように紹介されています。

    現在のテーマディレクトリの footer.php テンプレートファイルを 読み込みます 。 名前 (name) を指定すると、指定した footer-{name}.php を読み込みます。

    https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_footer

    ですので、読み込まれたfooter.phpの中で</body></html>のようにHTMLの記述が完結していなければ
    get_footer()関数より後ろに記述したHTMLも表示されます。

    == ここからは余談(get_footer()get_template_part()の違いなど) ==

    詳細な動きに興味がある場合は、こちらのURLを見ていただくと実際の動きが確認できます。
    https://core.trac.wordpress.org/browser/tags/4.7.5/src/wp-includes/general-template.php#L61

    ちなみにget_template_part()関数も、ソースコードを見るとほぼ同じような動きになっています。
    https://core.trac.wordpress.org/browser/tags/4.7.5/src/wp-includes/general-template.php#L146

    違いは
    get_footer(): footer.phpまたはfooter-{第一引数名}.phpを読み込む
    get_template_part(): {第一引数名}.phpまたは{第一引数名}-{第二引数名}.phpを読み込む
    というところです。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • このトピックに返信するにはログインが必要です。