WordPressテンプレートタグ

WordPressをカスタムする時によく使用するテンプレートタグを紹介しています。

特定のカテゴリー毎の新着一覧を表示

          <?php $posts=get_posts('numberposts=0 & category=11'); ?>
          <?php if ( $posts ) : foreach($posts as $post) : setup_postdata($post); ?>
          <ul>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?>
          </ul>
          <?php endforeach; endif; ?>
           
        

numberpostsは記事の数。「0」にすると全て表示になる。
categoryはカテゴリーIDの番号

特定のカテゴリ(ここでは1)で最新の5件を表示

          <?php $posts=get_posts('numberposts=0 & category=11'); ?>
          <?php if ( $posts ) : foreach($posts as $post) : setup_postdata($post); ?>
          <ul>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?>
          </ul>
          <?php endforeach; endif; ?> 
           
        

特定のカテゴリ内(ここでは1)に記事が存在する場合は表示

          <?php if ( in_category('1') ) { ?>
          <a href="<?php the_permalink() ?>"><?php the_title(); ?>
          <?php } else { ?>
          <?php } ?>
           
        

特定カテゴリ内の詳細ページのみを専用のテンプレートで表示させる

「in_category」というタグで、エントリーがどのカテゴリに属するのかを判別します。
「in_category」は通常はループの中で使うタグですが、
前述のような使い方をする場合はループ外で使う必要があります。
この場合、詳細ページのデフォルトのテンプレートである「single.php」に下記のコードを書きます。
もしもカテゴリ8に属するエントリーの場合はsingle1.phpを使って表示し、その他の場合はsingle2.phpを使う。という意味のコードです。

          <?php
           $post = $wp_query->post;
           if ( in_category('8') ) {
           include(TEMPLATEPATH . '/single1.php');
           } else {
           include(TEMPLATEPATH . '/single2.php');
           }
          ?>
           
        

include()とTEMPLATEPATHを使ってファイルを読み込む

上に書いたコードで使われている通り、phpの「include()」を使うと他のファイルを読み込むことができます。
例えばフッターテンプレートを読み込むときは通常は以下のように書きますが、

          <?php get_footer(); ?>
           
        

別のフッター用のファイル「footer2.php」を読み込みたい場合、上記の代わりに以下のコードを書きます。

					<?php include (TEMPLATEPATH . '/footer2.php'); ?>
           
         

サイドバーテンプレートを使い分ける

複数のサイドバーを使い分けることができます。ページごとに異なるサイドバーで表示させたい場合などに便利です。
sidebar.phpとsidebar-2.phpを使い分ける場合、読み込む場所に以下のコードを書いて使い分けます。

デフォルトのsidebar.phpを読み込ませるとき

          <?php get_sidebar(); ?>
           
        

sidebar-2.phpを読み込ませるとき

          <?php get_sidebar('2'); ?>
           
         

ページテンプレートを作る

ページテンプレートのデフォルトのファイル名は「page.php」ですが、
各ページごとに個別のテンプレートファイルを作ることができます。
ページテンプレートを作る時は、適当な名前(例えばpage2.phpとか)でテンプレート用のファイルを保存し、
そのファイルの一番上に以下のコードを書きます。

          <?php
            /*
            Template Name: ページテンプレート名
            */
          ?>
           
         

上の「ページテンプレート名」という部分にテンプレート名を書きます。
ここに書いたテンプレート名は、WordPressの管理画面のページ作成画面に、
プルダウン式のメニューで表示され、各ページに適用させるテンプレートを選択することができます。