Archive.phpページでカスタムカテゴリ名またはIDを「フェッチ」するにはどうすればよいですか。そのページテンプレートを使用しているときに、どのカスタムカテゴリの投稿が表示されているかをどのように知ることができますか?
get_queried_object();
を使用して、現在クエリされているオブジェクトを取得します。
分類用語の場合:
//Custom taxonomy is project_type, custom term is web-design
$obj = get_queried_object();
echo '<pre>';
print_r( $obj );
echo '</pre>';
以下を表示します。
stdClass Object
(
[term_id] => 56
[name] => Web Design
[slug] => web-design
[term_group] => 0
[term_taxonomy_id] => 56
[taxonomy] => project_type
[description] => Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
[parent] => 0
[count] => 0
)
それが役に立てば幸い!
このコードが役立つかどうかを確認しますか?
if ( is_single() ) {
$cats = get_the_category();
$cat = $cats[0]; // let's just assume the post has one category
}
else { // category archives
$cat = get_category( get_query_var( 'cat' ) );
}
$cat_id = $cat->cat_ID;
$cat_name = $cat->name;
$cat_slug = $cat->slug;
シンプルが最高です
$term_id = get_queried_object_id();
$prod_term = get_term($term_id,'product_cat');
$current_cat_slug = $prod_term->slug;
たとえば、archive.phpページに現在のカテゴリを表示しようとしている場合、URLは次のとおりです。
www.sitename.com/category/design
次に、「デザイン」をエコーするには、次を使用します。
single_cat_title();
私のアーカイブページには、次のものがあります。
<h1 class="page-heading"><?php single_cat_title(); ?></h1>
これにより、h1タグにカテゴリ「design」が表示されます。これが誰かに役立つことを願っています。
このコードを試して、カテゴリ名を取得してください。 $ cat_name = single_cat_title( ''、false);