ちゃんとブログ。

たにぐち まこと 2014/03/10 17:48 ( 2014/03/10 17:48 )

WordPressのテンプレートタグの見分け方

WordPressには非常に多くのテンプレートタグがあります。すべてを覚えるのは非常に大変ですが、せめておぼろげにでも覚えておけば、Google検索をするときに助けになります。

幸い、テンプレートタグは冒頭のキーワードを見れば、だいたいどんな役割をするかが分かるので、以下を参考にすると良いでしょう。

要素を表示する「the_」

the_から始まるテンプレートタグは、WordPressでもっともよく使うタイプのテンプレートタグで、ある要素を画面に表示するためのものです。「the_title()」ならタイトルの表示、「the_content()」なら本文の表示など、そのあと表示すべき内容が続くので比較的覚えやすいでしょう。

WordPressのテーマを制作する場合は、次のテンプレートタグ程度は暗記してしまうと楽になります。

the_title() タイトルの表示
the_time()  投稿日時の表示
the_content()   本文の表示
the_permalink()    個別ページ・固定ページへのリンクの表示
the_excerpt()   抜粋の表示
the_post_thumbnail()    アイキャッチの表示

the_…. シリーズの例外「the_post()」

1つだけ例外があり、「the_post()」についてはなにも表示されません。これは「次の投稿を取得する」といった意味があります。これが使われるシチュエーションは1つしかないので、普段は意識する必要はありません。

画面に表示しない要素の取得「get_the_」

先の、the_シリーズに「get_」をつけると、大抵は「画面に表示する」という機能が省かれます。例えば「get_the_title()」は投稿のタイトルを表示はせずに取り出します。

これは何のために使うのかといえば、タイトルなどになんらかの加工をしてから画面に表示したい場合や別の用途に使うために「変数」というものに記録をしたいときなどに使います。

また、「get_the_」ではなく「get_」から始まるものもあります(get_categoriesなど)」。これは、「カテゴリーを全部取得する」といった意味で、きちんと複数形になっていることが分かります。

いずれにしても「get_」シリーズは、初めのうちはあまり使う機会はないので、無視しても良いでしょう。

get_ シリーズの例外、「get_header()」「get_footer()」「get_sidebar()」

get_シリーズの例外が、ヘッダーやフッター、サイドバーを取得するそれぞれのテンプレートタグです。これらは、画面に表示されるところまでやってしまいますし、単数形なのでここで紹介した「get_」シリーズとは別のものと考えると良いでしょう。

まとめていろいろ処理する「wp_」

wp_から始まるテンプレートタグは、まとめていろいろなことをやってくれる便利なテンプレートタグです。(wpは WordPressの略)

例えば「wp_list_categories」は、カテゴリーをリスト上にして画面に表示するというテンプレートタグで、これを書くだけでulタグからリンクなど、あらゆる事を一度に行ってくれます。

楽な半面、HTMLをカスタマイズしたりするのは大変です。

コメント関係のテンプレートタグ「comment_, comments_」

コメント関係のテンプレートタグは「comment_」にまとめられています。「comment_form」ならコメントのフォームを表示します。

テンプレートタグと条件分岐タグ

テンプレートタグには、画面を作り上げるためのものの他に「条件分岐タグ」と呼ばれる特殊なタグがあります。

これは、if文や while文の条件として使われるもので、「true」または「false」、簡単に言えば「YES」または「NO」で答えが返ってくるテンプレートタグです。

次の種類があります。

is_…, in_…

今、どのページを表示しているかなどの状況を示します。例えば「is_page()」は、今表示されているページが固定ページかどうかを示すタグ、「is_single(1)」は1番目の投稿ページが表示されているかどうかです。

in_の場合は、「入っているか」という意味。「in_category(5)」ならその投稿が、5番目のカテゴリーに入っているかを示します。

have_…, has…

その記事が、コメントやタグを持っているかを示します。「has_tag(‘book’)」は、その投稿に「book」というタグが割り当てられているかを示します。

その他のテンプレートタグ

その他のテンプレートタグは、頻繁に使うものがないか、または「なぜこんな命名ルールにしたのだろう」といえるものがあります。例えば、記事のカテゴリー名を表示するのが「single_cat_title()」なのですが、他にこのようなルールで命名されたテンプレートタグはなく、なぜこのような名前なのか謎です。これらは、覚えてしまうしかありません。

まとめ

基本的には、これらのグループを覚えておけば、8割方のテンプレートタグは思い出すことができます。WordPressのコードヘルプがあるエディタなどを利用している場合は、とりあえず「the_」と打ち込めば候補が絞り込めるので、探しやすくなります。