HCDコンサルティング(旧・中川勉社会保険労務士事務所FPウェブシュフ)のブログ

【WordPress TwentyTwelve】トップページの表示を担うindex.phpを解読する

TwentyTwelveのindex.phpは、トップページの表示を担当するテンプレートファイルです。カスタマイズを考えるなら、どこがどの部分の表示を担当するかをさらっと把握して置いたほうがいいと思います。

仕事を他のファイルに丸投げ

まず大前提としてあるのが、index.phpというのは、トップページの表示を担当しながらもその仕事の多くを他のテンプレートファイルに投げていることです。

TOPページの表示におけるテンプレートファイルの役割分担の図をもう一度載せます。

2013-04-04_1200-twntytwelve-top

これを見てわかるように、index.phpが自ら表示を担当する部分は、
<div id=”primary” class=”site-content”>~</div>だけなのです。

そして、TwentyTwelveのindex.phpファイルを見て<div id=”primary” class=”site-content”>~</div>に注目すると、以下のようなつくりになっています。

<div id="primary" class="site-content">
<div id="content" role="main">
<?php if ( have_posts() ) : ?>
        (もし投稿があるときはこの部分を表示)
<?php else : ?>
        (もし投稿がなかったらこっちを表示)
<?php endif; // end have_posts() check ?>
</div><!-- #content -->
</div><!-- #primary -->

もしカスタマイズするなら(もし投稿があるときはこの部分を表示)であって、(もし投稿がなかったらこっちを表示)はどうでもよいことがわかります。

ループも丸投げ

さらに(もし投稿があるときはこの部分を表示)のなかでも、ループの部分は、get_template_partで仕事をcontent.phpに丸投げしているわけです。

<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>

ちなみに、ループというのは以下のような感じで記事を順番に表示している部分です。

2013-04-04_1327-loop

twentytwelve_content_nav

そういうわけで、index.phpファイルのうち、カスタマイズする際に重要になる部分というのは以下の部分しかありません。

<?php twentytwelve_content_nav( 'nav-below' ); ?>

カスタマイズは、以下のページに詳しく書きました。参考にしてください。

[img-link url=”https://webshufu.com/customize-top-catedory-page-navigateion-in-wordpress-twenty-twelve/” title=”WordPressデフォルトテーマでTOPやCategoryのページナビゲーションをカスタマイズ”]


投稿日

カテゴリー:

投稿者:

 最終更新日:

タグ: