WordPressで自作テーマ作り(第5回:初心者向けテンプレートタグ講座)

スポンサーリンク


サイト制作の初心者にもわかるようにWordpress(ワードプレス)で自作テーマ作りの過程を公開する長期連載の第5回は「テンプレートタグ」について語ります。ワードプレスに触れていると当たり前のように出てくる言葉ですが、そもそも何を意味しているのでしょうか。

ワードプレスのテンプレートファイルで機能する関数

ワードプレスがphpで作られていることは以前の投稿でも紹介しました。ワードプレスのコア部分では独自で設定された多くの「関数」が定義されており、この関数を打ち込むだけでワードプレスは所定の働きをしてくれます。この関数のうち、テンプレートファイルの中で使われる関数は「テンプレートタグ」と呼ばれています。

テンプレートファイルとは、投稿記事を表示させるために最初に作ったphpファイル(index.php)のことです。トップページやレイアウトの更新をあまり必要としない固定ページ、記事の投稿ページなどがあります。

index.php

新規サイトを表示させるために最初に作ったiテンプレートファイル「index.php」

初歩的なテンプレートタグについて、再びおさらいしてみましょう。

投稿記事のタイトル出力

//タイトル出力
<!--?php the title();?-->

基本的に投稿記事の本文と一緒に「ループ」の中に記述します。

//タイトル出力テンプレートタグをループの中に記述
<?php if(have_posts()):while(have_posts()):thepost();?>
<h1><?php the_title();?></pre>
テンプレートタグの外側をHTMLの見出しタグで囲むことによってタイトルの文字が大きくなりました。上記の表記とは別に、テンプレートタグの中にある「パラメーター」に直接HTMLタグを打ち込むことで同様の表示をさせることができます。(「ループ」について知りたい方は<a href="https://banabo.net/wordpress-original-theme4" target="_blank">第4回</a>をご覧ください)
<pre>
//テンプレートタグのパラメーターに値を打ち込む方法
<?php if(have_posts()):while(have_posts()):thepost();?>
<?php the_title('<h1>','</pre>
投稿記事の本文出力
<pre>
//投稿記事の本文出力
<!--?php the_content?-->

ワードプレスのダッシュボードにある「投稿>新規追加」で書かれた文章をサイトに表示させるには、こちらもループの中に記述する必要があります。

スポンサーリンク

//投稿記事の本文をループの中に記述させる
<?php if(have_posts()):while(have_posts()):thepost();?>
<?php the_content();?>
<?php endif;?>

ちなみに、HTMLの文法上では文章は<p>

ここまでは第4回で説明した通りですが、その他の初歩的なテンプレードタグも紹介します。

クラス名の出力

HTMLタグ<body>にクラス名を付加するためのテンプレートタグです。
<?php body_class();?>

なんのためにクラス名を付加する必要があるのかといえば、後々サイトをCSSで装飾したいという時に「この部分だけ装飾を変えたい」という部分が出てきます。テンプレートタグによって出力されたクラスを指定すればCSSでの装飾がグッと楽になるでしょう。

</pre>
上記のように使うと、サイトで実際にページを出力した際には、テンプレートタグが以下のようなクラス名が付きます。

投稿記事に対してクラス名を付加するためのテンプレートタグもあります。
<pre>
//クラス名を付加するテンプレートタグ
<?php post_class();?>

テンプレートタグの括弧内に入る「パラメーター(値)」に付加したい特定のクラス名を付け加えることもできます。例えば「space」というクラス名を付加したい時は、パラメーターへ以下の値を入力しましょう。

//特定のクラス名を付加するためパラメーターに値を入力
<;?php post_class('space');?>

パラメーターに値を追加する際には「シングルクオテーション(’)」で文字列を囲みましょう。

以上でごく初歩的なテンプレートタグの説明を終わりにします。次回はstyle.css(スタイルシート)を使った記事のデザインについて触れていきます。

スポンサーリンク


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

ABOUTこの記事をかいた人

新聞社の記者をしています。仲間との起業を夢見て、これまでに学んできたノウハウを記しておきます。現在、主に結婚新聞や企業・団体向けの広報紙を制作していますが「こんな紙面をつくってほしい」とのご要望にも随時お応えしています。