web-dev-qa-db-ja.com

archive.phpページでカスタムカテゴリ名またはIDを取得Wordpress

Archive.phpページでカスタムカテゴリ名またはIDを「フェッチ」するにはどうすればよいですか。そのページテンプレートを使用しているときに、どのカスタムカテゴリの投稿が表示されているかをどのように知ることができますか?

10
user2688562

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
)

それが役に立てば幸い!

37
iEmanuele

このコードが役立つかどうかを確認しますか?

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;
4
Shiva

シンプルが最高です

$term_id       =    get_queried_object_id();
$prod_term        =    get_term($term_id,'product_cat');
$current_cat_slug =    $prod_term->slug;    
1
Firefog

たとえば、archive.phpページに現在のカテゴリを表示しようとしている場合、URLは次のとおりです。

www.sitename.com/category/design

次に、「デザイン」をエコーするには、次を使用します。

single_cat_title();

私のアーカイブページには、次のものがあります。

<h1 class="page-heading"><?php single_cat_title(); ?></h1>

これにより、h1タグにカテゴリ「design」が表示されます。これが誰かに役立つことを願っています。

1
Bernard Myburgh

このコードを試して、カテゴリ名を取得してください。 $ cat_name = single_cat_title( ''、false);

0