【WordPress】カテゴリ名・タグ名・タクソノミ名を取得してアーカイブページのタイトルにする
記事更新日:2022-09-15
![サムネイル](https://tsukiusagi.biz/wp-content/uploads/2022/01/wordpress.png)
アーカイブページ
に
タイトル付けたい
に
タイトル付けたい
get_queried_object()
現在クエリされているオブジェクトを取得します
get_queried_object|すべて取得できる
![](https://i0.wp.com/tsukiusagi.biz/wp-content/uploads/2022/01/rabbit3.png?resize=150%2C150&ssl=1)
たとえば、カテゴリ名やタグ名をタイトルにしたいとき
<? php
$query_object = get_queried_object();
$name = $query_object->name;
?>
<main>
<h1><?php echo $name; ?></h1>
~~ ループ処理 ~~
</main>
![](https://i0.wp.com/tsukiusagi.biz/wp-content/uploads/2022/01/rabbit3-1.png?resize=150%2C150&ssl=1)
ただし、子カテゴリまで取得したい場合には条件分岐が必要
子カテゴリを判別したい場合
![](https://i0.wp.com/tsukiusagi.biz/wp-content/uploads/2022/01/rabbit3.png?resize=150%2C150&ssl=1)
「投稿タイプで、かつタグではない」という指定
if ($obj && get_post_type() === 'post' && !is_tag() && $obj->parent === 0) {
// postで親カテゴリの場合
$name = $obj->cat_name;
} else {
// それ以外
$name = $obj->name;
}
![](https://i0.wp.com/tsukiusagi.biz/wp-content/uploads/2022/01/rabbit3-1.png?resize=150%2C150&ssl=1)
別々で取得するのは、さらに面倒
種類別に、条件分岐する場合
<? php
// カテゴリ一覧の場合
if (is_category()) {
$cat = get_the_category();
$name = $cat[0]->name;
// タグ一覧の場合
} elseif (is_tag()) {
$tags = get_the_tags();
$name = $tags[0]->name;
}
?>
![](https://i0.wp.com/tsukiusagi.biz/wp-content/uploads/2022/01/rabbit1-2.png?resize=150%2C150&ssl=1)
これだと、カスタム投稿のカテゴリ名が取得できない
2022-09-15
編集後記:
この記事の内容がベストではないかもしれません。