基本構文の作成
2020-04-16
ワードプレスの制作において、基本的なテンプレートタグについて、記述しておきたいと思います。
ブログ部分など、必要最低限の情報としては、
・タイトル
・投稿日
・本文
といった具合でしょうか。
single.php や category.php などには以下のような記述があり、その部分に記載することになります。
1 2 3 4 5 6 7 8 9 |
<?php while ( have_posts() ) : the_post(); ?> /* ここに投稿について記述 */ <?php endwhile; ?> |
記事タイトルの取得
まずは、投稿した記事のタイトルの取得をします。
記事の取得には、下記のタグを使用します。
1 |
<?php the_title(); ?> |
the_title() には、下記のような引数があります。
1 2 3 4 5 |
the_title( $before, $after, $echo ) $before ・・・ 前に表示したいテキスト $after ・・・ 後に表示したいテキスト $echo ・・・ 出力するかどうか。falseにすると文字列を返す |
という具合になり、使用例としては、以下の2パターンを記載します。
1 2 3 4 5 6 7 |
<?php the_title( '<h2>', '</h2>' ); ?> /*記事タイトルがある場合 */ <h2>記事タイトル</h2> /*記事タイトルがないる場合 */ /* 何も出力なし */ |
1 2 3 4 5 6 7 |
<h2><?php the_title(); ?></h2> /*記事タイトルがある場合 */ <h2>記事タイトル</h2> /*記事タイトルがないる場合 */ <h2></h2> |
というように、引数を記述する場合と何も記述しない場合で、概ね同じような出力になりますが、記事タイトルがない場合に違いがあります。
記事タイトルがない場合は、ほぼないと思うので、個人的には、後者のやり方でよく使用しています。その方がclassなど付与する際に記述しやすいからです。
記事の投稿日の取得
次に記事の投稿日の取得についてですが、こちらは、いくつかのテンプレートタグがあります。
1 2 3 4 5 |
<?php the_date(); ?> <?php the_time( 'Y/m/j' ); ?> <?php echo get_the_date(); ?> |
・the_date()では、同じ日付の2回以上連続して出力しないという点に注意してください。
・the_time()は、日付と時刻のフォーマットを使用して、日時を取得して、出力します。
・get_the_date()は、日付を文字列として出力するので、echo と合わせて使用します。
日時のフォーマットは下記に一部を記載。(詳しくはこちらを参考に)
Y | 西暦。 ex.2020 |
---|---|
F | フルスペル形式。 ex.January – December |
M | 3文字形式。 ex.Jan – Dec |
m | 先頭にゼロがついた月。 ex.01 – 12 |
n | 先頭にゼロがつかない月。 ex.1 – 12 |
j | 先頭にゼロがつかない日。 ex.1 – 31 |
d | 先頭にゼロがついた日。 ex.01 – 31 |
記事の本文、抜粋の取得
そして、記事の本文や、抜粋の取得になります。
1 2 3 |
<?php the_content(); ?> /* 本文の取得 */ <?php the_excerpt(); ?> /* 抜粋の取得 */ |
・the_content()は、single.phpで主に使用します。
・the_excerpt()は、archive.php や category.php で使用する場合があるかと思います。
以上が、ワードプレスを構成する際、必要最低限のテンプレートタグになるのではないでしょうか。
別記事で the_excerpt()の文字数制限などを記載していきたいと思います。