
オリジナルテーマの作成方法 その2
トップページの作成
WordPressで表示する内容をカスタマイズするときに使うWordPress用のタグのことをテンプレートタグと言う。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>
;charset=<?php bloginfo('charset'); ?>" />
<title><?php bloginfo('name'); ?></title>
</head>
<body>
</body>
</html>
ヘッダーの表示
<div id="header">
<h1><a href="<?php echo home_url(); ?>"><?php bloginfo('name'); ?></a></h1>
<p id="desc"><?php bloginfo('description'); ?></p>
</div>
記事のタイトルと本文の表示
ループの開始タグ
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<?php if ( have_posts() ) : ?> で、投稿された記事があるかどうかを調べる。
have_posts()関数は、次の投稿データがあるか調べる関数
だから、「もし(if)投稿データはあるか?あるなら、(while)ループを繰り返す」と言うif文。
そしてループされたデータをthe_post();関数でもって、
投稿データをグローバル変数$postにロード(順に表示)する。
ループの終了タグ
<?php endwhile; endif; ?>
endwhile・・・while文の閉じタグ。endif・・・if文の閉じタグ。
カテゴリー関数
1)<?php the_category; ?>
↓
2)<?php the_category(', '); ?>
1のままだと、ulタグが付いてしまうので、マークアップが表示されたり、改行されてりまったりと不都合な場合には、(', ')をつけてulタグを取り除く。
header画像の表示
ワードプレスはフルパス表記。
<?php echo home_url(); ?>でテーマフォルダのURLを取得/保存名.jpg で画像を表示出来る。
記事を複数のページで表示するには?
記事がおおくなってしまった場合、古いページを表示するには、PHPでリンクを生成すれば良い。
設定<表示設定 画面で記事の調節が出来る。
<?php if(is_home()): ?>#ここの閉じは;ではなく、:になる。
<div class="pagelink">
<?php next_posts_link(); ?>
<?php previous_posts_link(); ?>
</div>
<?php endif; ?>
()内にテキストを入れると、その文字がそのまま表示される。セミコロンで囲む。
個別記事の作成
【個別のページだけに表示させたい場合のループ】
<?php if(is_single()): ?>
〜
<?php endif; ?>
記事タイトルをクリックすると、個別の記事に飛ぶようになっている。
なので、やる事は、2つ。
1)記事のタイトルを取得してステータスバーに表示させる。
2)個別の記事にもネクストとプレブを付けて、他のページに移動出来るようにする。
1)各記事のタイトルをそのまま<title>として表示すれば良いので、
<?php wp_title(); ?> を追加して、
↓
<title><?php bloginfo('name'); ?><?php wp_title(); ?></title>
<?php wp_title(); ?> は、ブログ名(タイトル)に続けて利用する事を想定されているので、トップページを生成する時は、何も出力しない。 また、必ず、>>が付く。
<div class="pagelink">
<span class="newpage"><?php previous_post_link(); ?></span>
<span class="oldpage"><?php next_post_link(); ?></span>
</div>
#一覧の記事のネクストとプレブと違って、()の中の指定は出来ない。
また、post(s)はつかない。
非表示にすると、ページが認識されない。スルーされる。