銀河鉄道

【WordPress】カテゴリ名・タグ名・タクソノミ名を取得してアーカイブページのタイトルにする

サムネイル
get_queried_object名前の取得
アーカイブページ

タイトル付けたい

get_queried_object()

現在クエリされているオブジェクトを取得します

get_queried_object|すべて取得できる

たとえば、カテゴリ名やタグ名をタイトルにしたいとき

<? php
$query_object = get_queried_object();
$name = $query_object->name;
?>

<main>
    <h1><?php echo $name; ?></h1>

    ~~ ループ処理 ~~
</main>

ただし、子カテゴリまで取得したい場合には条件分岐が必要

子カテゴリを判別したい場合

「投稿タイプで、かつタグではない」という指定

if ($obj &&  get_post_type() === 'post' && !is_tag() && $obj->parent === 0) {
    // postで親カテゴリの場合
    $name = $obj->cat_name;
} else {
    // それ以外
    $name = $obj->name;
}

別々で取得するのは、さらに面倒

種類別に、条件分岐する場合

<? php
// カテゴリ一覧の場合
if (is_category()) {
    $cat = get_the_category();
    $name = $cat[0]->name;

// タグ一覧の場合
} elseif (is_tag()) {
    $tags = get_the_tags();
    $name = $tags[0]->name;
}
?>

これだと、カスタム投稿のカテゴリ名が取得できない

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧