サポート » 使い方全般 » header.php,sidebar.php,footer.phpには明確な使い分けルールがあるのでしょうか?

  • 解決済 fubasami

    (@fubasami)


    footer.phpにヘッダーの内容を書き込んで、single.phpの冒頭で読み込む。
    逆にheader.phpにフッターの内容を書き込んで、single.phpの最後に読み込む。
    上記の使用をしても何ら問題なく表示できています。

    これにsidebar.phpを足した3つの使い分けの基準は
    画面で見た位置だけの問題なのでしょうか?

    single-XX.phpが10個ほどあるテーマを作成しており、
    記事(<?php the_content(); ?>)の下部に共通で読み込ませたいパーツがあります。
    位置的にはフッターの上なのでfooter-2.phpとしようかと考えていたのですが、
    sidebar-2.phpでも問題ないように思えます。
    興味半分でheader-2.phpとして読み込ませても特に問題ないようでした。

    これらの使い分けの基準として何か明確な判断材量はありますか?
    上記の様な場合はどれが適しているのでしょうか?

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは、

    これにsidebar.phpを足した3つの使い分けの基準は
    画面で見た位置だけの問題なのでしょうか?

    WordPressは、コアとプラグインとテーマが協調して動作するものと考えるとわかりやすいんじゃないかと思います。

    例えば、get_header()で、header.php を 呼び出したり、get_header(‘hello’)で、header-hello.php
    を呼び出すような使い方をしていると思いますが、この関数は、単にテンプレートをインクルードするだけの用途に使われるわけではありません。

    例えば、この関数内には、フックというものが記述されています。
    do_action( 'get_header', $name );

    プラグインは、このフックを使って、そこに配置する何かを追加することができます。

    header.phpを、footer.phpとして使ったような場合、プラグインを追加したような場合には、スタイルシートがフッター部に埋め込まれたりする事になるかもしれません。

    そのあたりを気にしておけばいいのではないでしょうか?

    nobitaさん
    用途のご説明、大変参考になりました。 回答ありがとうございます。

    eader.php,sidebar.php,footer.phpのどれかを使用して
    フックで何か追加されるのも面倒ですし
    適任がいなければWordpressに
    関係しない子をインクルードしてしまった方が良いと思われますか?

    bottom.phpとか。

    関係しない子をインクルードしてしまった方が良いと思われますか?

    get_template_part('button','ghost') といった形で、任意のテンプレートファイルをインクルードする方法は、よく行われると思います。

    それがいいと言い切れるかというと ちょっと難しいです。

    テンプレートのインクルードを、ガシガシ行っていくような作りこみをしていくと、修正の時に
    えーと、button.php button-ghost.php button-round.php button-squere.php みたいにたくさんのテンプレートをそれぞれ修正しなくてはならない。なんてことになることもあるかもしれません。

    get_template_part('button','ghost')の代わりに、do_action('after-article')みたいにしておいた方が、取り外し、追加が簡単な場合もあると思います。

    が、コアのフックだけでも、2000個ぐらいはあると思うので、探すのもメンドイといった事もあります。

    やり方が、いろいろあるので、、、

    • この返信は11 ヶ月、 2 週間前に  nobita さんが編集しました。

    諸々考慮したいですが、
    最終的には試してみながら判断となりそうですね。
    get_template_part を初めて知りましたので、これを使ってみようと思います。

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

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「header.php,sidebar.php,footer.phpには明確な使い分けルールがあるのでしょうか?」には新たに返信することはできません。