WordPressの自作テーマ用主要関数 Part2
こんにちは!Azusaです♪
Part2ものんびりとやっていきましょう~!
Part1を見たいよって方は↓からどうぞ。
今回はヘッダー内のタイトルやメタタグでよく使うと思われるものをピックアップして紹介していきます。
wp_title()
wp_title関数はページの種類ごとに異なる文字列を返す関数です。
返される文字列は下記表のようになっています。
単一の投稿ページ | 投稿のタイトル |
日付ごとのアーカイブ | 日付(例 : “2021”や”2021-9月”等) |
カテゴリのページ | カテゴリの名前 |
投稿者ごとのページ | 投稿者名 |
また、デフォルトでは区切り文字として上記表にある文字列の頭に”»”が表示されますが、必要ない場合は第一引数に””(空文字)を指定することで出力しないようにすることができます。(下記コード参照)
単一の投稿ページでの例
wp_title(); // "» 記事のタイトル"
wp_title(''); // "記事のタイトル"
ブログ等の記事ページでは、記事のタイトルの後ろに、区切り文字とサイトのタイトルや略称等を入れるのが一般的なので、この関数単体で使うことはあまり推奨されておらず、Part1で紹介したbloginfo関数などと組み合わせて使うことが多いでしょう。
<title><?php wp_title(''); echo ' | '; blog_info('name'); ?></title>
このようにコーディングすることでページのタイトルの後ろに”|”で区切ってサイトのタイトルを連結させたものをページタイトルとして利用できます。
ですが、日付別アーカイブや投稿者のページで同じコードを使用してしまうと、”2021-9月 | サイトタイトル”のようにぶっきらぼうで分かりづらいタイトルになってしまいますので、最小限のファイルでテーマを作成する場合は、今後紹介する予定の、ページごとの分岐条件に使える関数等で振り分けて整形してあげることになるかと思います。
get_the_author(), the_author()
get_the_author関数は、その名の通りで、ページを記載したユーザーの名前を取得する関数です。
記事一覧ページの各記事の著者の取得や、単独記事ページの著者の取得に使うことができます。
the_author()という関数もありますが、こちらはget_the_author関数の戻り値をechoで出力したものと同じです。
echo(get_the_author());
the_author();
上記2つの関数はどちらも同じ動きをします。
html内に出力したい場合等はthe_author()のほうが短くて簡単ですが、get_the_author()よりも歴史が古く、古いテーマの互換用として返り値にもget_the_author()と同じく著者名が返されるようになっているようです。
WordPressの関数群では、基本的にそのまま出力したい場合はget無しの関数を使い、値を整形等する場合にはget付きのものを使うように設計されているようですが、この関数のように過去との互換のために標準の動作と違う動きをするものがあったりしますので注意が必要ですね。
get_the_author_link(), the_author_link()
上記the_author()に加え、the_author_link()ではaタグで著者ページへのリンクを含んだ形で著者名が出力される関数です。
単一投稿ページの著者名から著者ごとのページへリンクを張りたい場合などはこちらの関数のほうが1つで済むので便利ですね!
the_author(); // Azusa
the_author_link(); // Azusa
こんな感じでリンク付きで出力できます♪
the_category()
the_category関数は投稿に指定されているカテゴリ等を取得するための関数です。
規定では何も区切られずにリンクが張られた状態状態で羅列して出力されますが、第1引数に区切り文字を指定することができるので、扱いやすいように区切り文字を設定することができます。
the_category(); // Webプログラミング
the_category(','); // Web,プログラミング
次に紹介するタグを取得する関数では一番前とタグ間の区切り文字・最後尾の文字列をそれぞれ指定できるのですが、カテゴリの場合はできないので、リスト形式のHTMLタグで囲みたい場合などは前後のタグは自前で書く必要があります。
<ul><li><?php the_category('</li><li>'); ?></li></ul>
こんな感じで書いてあげると、リストになるので扱いやすくなるのではないでしょうか。
the_tags()
the_tags関数はタグをリンク付きで出力する関数です。
カテゴリの関数で少し紹介しましたが、第1~3引数で前置詞・区切り文字・後置詞を指定することができます。
何も指定しない場合の前置詞は”Tags: “・区切り文字は” “(半角スペース)・後置詞は””(空文字)が指定されます。
the_category()のようにリスト形式で出力したい場合は、
the_tags('<ul<li>', '</li><li>', '</li></ul>');
とコーディングすればいいので、カテゴリより理解しやすく、見やすいですね。
さて、Part2はこのへんで終わりにしようと思います。
次はページ毎の分岐に使う関数を紹介できたらと考えております。
あとは分岐とコンテンツ出力とループさえあれば、簡単なテーマなら作れるはず…。
ですので、また次回もよろしくお願いいたします♪
2021/10/11 追記:
まとめページはこちら↓