"the_title"タグを使いこなそう!WordPressで記事タイトルを出力する際のパラメータとかいろいろ。


WordPress Widget

WordPressってチョーーーよくできてますね。今日の主役はWordPressで記事タイトルを表示させるタグ”the_title”です。調べてたらいろいろカスタムできるようなのでメモしておきます。

タグ自体は基本中の基本なので、みなさん既に知っていることも多いかと思います。検索からたどり着いてくださった方は、おさらいがてら見てやってください。

そうそう、ちなみにこの記事は、ブログ内でコードをきれいに表示させるあれ「SyntaxHighlighter」を使った初めての記事です。無駄にハイテンション。

テンプレートタグ/the title

今日出会ったのはこんなコード。HTMLの中にこんなん書くと、

<?php echo "<li>".the_title('','', FALSE)."</li>"; ?>

こうやって出力されますね。

<li>記事のタイトル</li>

はじめに、WordPress Codexから引用して、the_titleタグについて正しく理解しましょう。

説明: 記事のタイトルを出力。
位置: ループ内
書式: <?php the_title(‘before’, ‘after’, display); ?>
引数:パラメータ大好きなのでぼくの言葉で説明しますね↓

the_titleタグ内のパラメータ : ‘before’, ‘after’, display
1つ目のパラメータはbeforeと呼ばれるパラメータ。タイトルの直前に出力するコードやテキスト(文字列)が入ります。デフォルト値は空です。
2つ目は逆にafterと呼ばれるパラメータ。タイトルの直後に出力するコードやテキスト(文字列)が入ります。同じくデフォルトは空。
3つ目は気が利いていて、displayと呼ばれるパラメータ。取得した値を、HTMLとして出力するかどうかを選択できます。デフォルトはtrueなので、何も書かなければ記事のタイトルが吐き出されます。これをfalseに変えると、PHPで使用できる値として持っててくれます。

これらをふまえて一番上のコードをすっきり書くとこんな感じ。

<?php the_title('<li>','</li>'); ?>

でもパラメータのこと皆が知ってるわけじゃないので、別の人がこのコードを見たときに「?」ってなる可能性が大きい。というわけで理解されやすい順にいろいろ書いてみました。

同じコードを、美しさと理解しやすさを変えていろいろ書いてみる。

まずは基本的なテンプレートタグを使ったもの。

<li><?php echo get_the_title(); ?></li>

美しさ★☆☆
理解しやすさ★★★
チョーわかりやすいですね。

次。the_titleをデフォルトで使ったもの。

<li><?php the_title(); ?></li>

美しさ★★☆
理解しやすさ★★★
潔いですね。美しい。

さて、問題なのは、PHPでだーっと何行も書いてる中に記述する場合。つまり、<li>をechoで出力させる場合です。

<?php echo "<li>".get_the_title()."</li>"; ?>

美しさ★☆☆
理解しやすさ★☆☆
なるほど。全体をechoするんですね。まず<li>がきて、”.”でつなげることで次に記事のタイトルひっぱってきて、最後に</li>がくると。それをえいやっと出力しろと。承知しました。

<?php echo the_title('<li>','</li>', FALSE); ?>

美しさ★☆☆
理解しやすさ★★☆
ほう。記事のタイトルの前と後にリストタグいれて出力せーゆーことやな。で、

<?php the_title('<li>','</li>'); ?>

美しさ★★★
理解しやすさ★★☆
記事冒頭に書いたすっきり文がきます。3つ目のパラメータはデフォルトでオッケーなので省略。デフォルトは出力までしてくれるのでecho書かなくてオッケー。

WordPressの素晴らしさを味わいつくすために…ちゃんと勉強しましょう!

というわけでいろいろ見てきましたが、まぁ★の数は主観なんで気にしないでください。それより改めて思ったことはこれです : WordPressはよくできてるなー( ´ ▽ ` )ノ

タグをコピペするれば目の前の仕事ははかどりますが、ちゃんとCodex読むともっと理解が深まって、より美しく分かりやすいコードを書けるようになる気がする。みなさん一緒に頑張りましょう_| ̄|○