WordPress パーツファイルの役割
WordPress はいくつかのパーツファイルで構成されています。
この構成を理解してしまえば楽になれるはずです。(たぶん・・・)
私も、この構成がわからない間は難しく感じていました。わかってしまえば簡単かも?!
最初は、大きくざっくりと把握しましょう。
- header.php
- sidebar.php
- footer.php
この3つは、どのページでも表示される「ヘッダー」「フッター」「サイドバー」です。2カラム表示しない場合には 「sidebar.php」にあたるサイドバーはいりません。
図でしめすとこのような配置関係です。
最低限必要なテーマファイル で「content.php」というものがあります。これは実際には必須ではありません。ですが、上の画像のように記事を一覧で表示する場合には、別のパーツファイルにして読み込むことでテーマファイルの可読性をよくします。上の画像では白枠で区切られた一つの記事のかたまりが「content.php」になります。
ちなみに、get_template_part という関数で読み込めばいいのでテーマファイルを作るときに別名でも構いません。
「comments.php」これは下のように各記事のコメント欄のパーツです
以上、テーマファイルの配置関係です。
これらをもとにナビゲーション(メニュー)はどこに配置しよう?とか考えていきます。
上に配置したいなら、header.phpに書けばいいですし横に置きたいならsidebar.phpに書けばいいということになります。
さて、ヘッダーやフッターなどのパーツファイルは各ページで読み込む必要があります。
- ヘッダーパーツなら「get_header()」
- フッターパーツなら「get_footer()」
- サイドバーパーツなら「get_sidebar()」
- コメントパーツなら「comments_template()」
これらの呼び出しはルール上絶対として覚えちゃいましょう。
実際にindex.phpを除いてみましょう。
<?php get_header(); ?> <?php if ( have_posts() ) : ?> <!-- entry --> <section class="entry-list"> <?php while ( have_posts() ) { the_post(); get_template_part( 'content', get_post_format() ); } // ページナビゲーション the_posts_pagination( array( 'prev_text' => '< PREV', 'next_text' => "NEXT >", ) ); ?> </section> <!-- /entry --> <?php endif; ?> </main> <!-- /main --> <!-- sidebar --> <?php get_sidebar(); ?> <!-- /sidebar --> </div> <!-- /container --> <?php get_footer(); ?>
get_header() get_sidebar() get_footer()は見つかりましたか?
このように各ページの共通部分をパーツ化し読み込みます。
ディスカッション
コメント一覧
まだ、コメントがありません