WordPressのテーマ作成その2です。
header,php,footer.php,sidebar.php
TwentyTenのテーマにもありましたが、これを使うと、共通部分をパーツ化することができます。
index.phpにもcategory.phpにも共通のヘッダー、フッターなどがあると思いますが、それを1つのファイルで済ませる事ができます。
[php]
get_header();
get_sidebar();
get_footer();
[/php]
という関数が記述してある場所に、header.php,sidebar.php,footer.phpがそれぞれ読み込まれます。
また、phpのincludeで読み込むと、WordPressで定義されている関数がheader.php等の中で使えないので要注意。
たとえばこんな風に使います。
header.php
[php]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<link rel="stylesheet" href="<?php bloginfo(stylesheet_url);?>" />
<title><?php bloginfo("name");wp_title();?></title>
<?php wp_head();?>
</head>
<body>
<h1 id="siteName"><?php bloginfo("name");?></h1>
[/php]
index.phpないし、single.php,category.php等。
[php]
<?php get_header();?>
<div id="contents">
<?php if(have_posts()):while(have_posts()):the_post();?>
<div class="article">
<h2><a href="<?php the_permalink()?>"><?php the_title()?></a></h2>
<?php the_content();?>
</div>
<?php endwhile;endif;?>
</div>
[/php]
footer.php
[php]
<?php wp_footer();?>
</body>
</html>
[/php]
また、ヘッダーにはwp_head()をフッターにはwp_footer()を入れるようにしましょう。これは、WordPress本体や、プラグインが出力するlinkタグ、metaタグ、scriptタグを出力する物です。
そして、小技ですが、
[php]
get_header("hoge");
[/php]
の用に引数を指定すると、header-hoge.phpを読み込んできます。
また、さらに小技ですが、
[php]
get_template_part("hogehoge");
[/php]
とすると、
ページにpage.php個別のテンプレートを適用する。
このページだけ、デザインを変えたい!というときがあると思います。そんなときによく使うのですが、WordPressのページにはテンプレートを個別に設定することができます。
[php]
<?php
/*
Template Name:hogehoge
*/?>
[/php]
とファイルの一番最初に記述すると、個別のテンプレートと認識されて、ページ属性のところからそのテンプレートが選択できるようになります。
ファイル名は特に何でもかまいません。
結構便利機能がたくさんありますので、じわじわ解説していけたら・・・・
つづく・・・?