web-dev-qa-db-ja.com

Category.phpでカテゴリーに関するデータを取得する方法

カスタムcategory.phpテンプレートを作成する必要がありますが、category.phpのカテゴリに関するデータを取得するにはどうすればよいですか。私はこれらが必要です:

  • カテゴリ名とID
  • カテゴリの親の名前とID
  • すべてのカテゴリーのアイテム

私たちのリンクはwww.website.com/category/sub-categoryで、私たちが欲しいのはカテゴリーとサブカテゴリーのフルネーム+すべてのサブカテゴリーのアイテムを表示することです。

1

そう、これを解決する方法はたくさんあります。これらのいくつかには特別なテンプレートタグを使うことができます(例えば現在のカテゴリのタイトルを表示するためのthe_archive_titleなど)。

しかし、これらすべてを達成するには、 get_queried_object を取得する必要があります。

カテゴリを表示している場合、この関数は現在のカテゴリオブジェクトを返します。

だから後:

$current_cat = get_queried_object();

あなたはその名前を得ることができます:

echo $current_cat->name;

そしてそのIDを使用して:

echo $current_cat->term_id;

その親を取得するには:

if ( $current_car->parent ) {
    $parent = get_category( $current_car->parent ); 
    echo $parent->name;
    echo $parent->term_id;
}

そして$parentのすべてのサブカテゴリを取得する:

$categories = get_categories( array('parent' => $parent->term_id) );
foreach($categories as $category) { 
    echo $category->name;
}
1