phpspot開発日誌さんのエントリで
WordPressのテンプレート
作成時に欠かせない有用チートシート
があったので備忘録的にソース元
から引用させていただきます。
こういうのは非常にありがたいです。
元記事主さんも自分用とあるので、私も引用させてもらいつつ、
意訳したり直訳したりラジバンダリ。勝手に言葉を変えてまとめておきます。
[warning]※原文にも注意書きがありますが、原文では「< ?php」となっていますが、実際は「<?php」のようにスペースを含めないので含めずに記述します。
[/warning]
テーマの構成
header.php – ヘッダー
index.php – メイン
sidebar.php – サイドバー
footer.php – フッター
single.php – 記事
page.php – ページ
comments.php – コメント
search.php – 検索内容
searchform.php – 検索フォーム
archive.php – アーカイブ
functions.php – 特殊機能
404.php – エラー
ループの方法
他のファイルに複数の記事を表示するときはindex.phpを中心に、
ファイルをループさせることができます。
<?php if(have_posts()) : ?>
<?php while(have_posts()) : the_post(); ?>
// Custom HTML & PHP code
<?php endwhile; ?>
<?php else : ?>
<?php endif; ?>
includeタグ
テーマから他のファイルを読み込ませる為にsingle.phpで使用されます。
例えば、テーマにheadを含むのにindex.phpで「get_header」というタグを使用できます。
<?php get_header(); ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
<?php comments_template(); ?>
Bloginfoタグ
使用中のWordPressブログに関するさまざまな情報を出力します。
<?php bloginfo(‘name’); ?> – ブログタイトル
<?php bloginfo(‘charset’); ?> – 文字セットの表示
<?php bloginfo(‘description’); ?> -meta descriptionの表示
<?php bloginfo(‘url’); ?> – サイトURLの表示
<?php bloginfo(‘rss2_url’); ?> – RSSのURLの表示
<?php bloginfo(‘template_url’); ?> – テンプレートURLの表示
<?php bloginfo(‘pingback_url’); ?> – pingbackのURLの表示
<?php bloginfo(‘stylesheet_url’); ?> – cssのURLの表示
<?php bloginfo(‘wpurl’); ?> – WPのインストールできるURLの表示
<?php bloginfo(‘name’); ?> – 自分のブログ名の表示
条件タグ
条件タグはブログがどう働くかをカスタム設計するのに役立つタグです。
テンプレートファイル内で表示される内容や、特定のページ内容を
表示する条件を設定するのに使います。
例えばページがホームページなら“current-cat”というclass属性の指定の際は
<php if(is_home()) { ?> class=”current-cat”<?php } ?>
と記述します。
is_home() – ユーザーがブログ(ホームページ)にいる時
is_front_page() – ユーザーがホームページにいる時(ブログかPage)
is_single – 単体の記事を表示する時
is_sticky() – 現在のページが、フロントページに指定した記事の場合、true。
is_page() – どんなページも表示しているとき。
is_category() – カテゴリーアーカイブを表示している場合
一般タグ
テンプレートの大部分で使用されるタグの抜粋です。
<?php the_time() ?> – 投稿記事の日時を表示する。
<?php the_date() ?> – 記事の投稿時間を表示する。
<?php the_title(); ?> – 記事のタイトルを表示する
<?php the_permalink() ?> – 記事のパーマリンクを表示する
<?php the_category() ?> – 投稿記事のカテゴリー名を表示する
<?php the_author(); ?> – 記事の投稿者を表示する
<?php the_ID(); ?> – 現在表示中の投稿のIDを表示する
<?php wp_list_pages(); ?> – 投稿ページタイトルを表示する
<?php wp_tag_cloud(); ?> – タグクラウドを表示する
<?php wp_list_cats(); ?> – カテゴリリストを表示する
<?php get_calendar(); ?> – カレンダーを表示する
<?php wp_get_archives() ?> – 月別アーカイブのリンクを表示する
<?php posts_nav_link(); ?> – 「次へ」や「前へ」のナビリンクを表示する
<?php next_post_link() ?> – 後の記事のリンクを表示する
<?php previous_post_link() ?> – 前の記事のリンクを表示する
ナビゲーションメニュー
これはどのようにブログを構築するかで使用法が異なってきます。
ここでは、2つのアプローチを記述します。
カテゴリベースのメニュー
<ul id=”menu”>
<li <?php if(is_home()) { ?> class=”current-cat”<?php } ?>>
<a href=”<?php bloginfo(‘home’); ?>”>Home</a></li>
<?php wp_list_categories(‘title_li=&orderby=id’); ?>
</ul>
Pageベースのメニュー
<ul id=”menu”>
<li <?php if(is_home()) { ?> class=”current_page_item”<?php } ?>>
<a href=”<?php bloginfo(‘home’); ?>”>home</a></li>
<?php wp_list_pages(‘sort_column=menu_order&depth=1&title_li=’); ?>
</ul>
どちらもclass属性を加えます。
カテゴリのX記事の表示
query_postsは条件に該当する記事が取得され、件数分表示されるタグです。
<?php query_posts(‘category_name=Name Here&showposts=10’); ?>
カスタムテンプレートファイル
WordPressでは自身でテンプレートファイルを作って、
それをテーマに埋め込むことができます。
<?php include (TEMPLATEPATH . ‘/searchform.php’); ?>
これは私のWordpressのチートシート(カンペ)です。
それぞれのタグに挿入するパラメーターに関してはそのまま検索すると
すぐに情報サイトが出ますのでそのようにされるといいと思います。
例:「php the_date()」で検索
テーマ作成も楽になりそうですね。