2016.08.25
2017.07.26
WordPress
WordPressで親階層のスラッグ名を取得するには
wordpressでサイトやブログの記事ページのテンプレートを制作しているときに、トピックパスやサイドナビなどに親階層のスラッグ名やIDを呼び出したいことがあります。
そういうときはテンプレートタグ「get_the_category()」を使うと簡単です。今回は「get_the_category()」タグの使い方を紹介します。
現在の投稿が属するカテゴリー情報を取得する「get_the_category()」
用例は以下になります。
<?php $cat = get_the_category(); $cat = $cat[0]; ?> <ul class="topic-path"> <li><a href="../../" >トップページ</a></li> <li><a href="../<?php echo $cat->cat_name; ?>" ><?php echo $cat->category_nicename; ?></a></li> <li>現在の投稿</li> </ul>
“topic-path”というリストで組んだトピックパスがあったとして、1~4行目のphpで親カテゴリの情報を取得し、8行目のphpでそれぞれカテゴリ名とスラッグ名を取得しています。
get_the_category()で参照できる情報
8行目phpのアロー演算子(->)以下の変数を書き換えることでget_the_category()からいろいろな情報を呼び出すことができます。
以下wordpress codex の該当ページから引用紹介します。
変数一覧
term_id
(整数) カテゴリー ID
name
(文字列) カテゴリー名
slug
(文字列) カテゴリーのスラッグ
term_group
(整数) カテゴリーのグループ
term_taxonomy_id
(整数) カテゴリーのタクソノミー ID
taxonomy
(文字列) タクソノミー名 ‘category’
description
(文字列) カテゴリーの説明
parent
(整数) 親カテゴリーの ID
count
(整数) カテゴリーに登録されている投稿の数
object_id
(整数) オブジェクト ID
cat_ID
(整数) カテゴリー ID (term_id にも同じ値が入る)
category_count
(整数) カテゴリーに登録されている投稿の数(count にも同じ値が入る)
category_description
(文字列) カテゴリーの説明(description にも同じ値が入る)
cat_name
(文字列) カテゴリー名(name にも同じ値が入る)
category_nicename
(文字列) カテゴリースラッグ名 – カテゴリー名から生成されたスラッグ(slug にも同じ値が入る)
category_parent
(整数) 親カテゴリーの ID – 親がなければ 0 が入る(parent にも同じ値が入る)