Word Pressの記事ページで最上位のカテゴリを取得する
WordPressの記事ページで最上位のカテゴリを取得するには、以下のコードを使用できます。
$category = get_the_category();
$top_category = '';
if ( ! empty( $category ) ) {
$top_category = get_category_parents( end( $category )->term_id, false, ',', true );
$top_category = substr( $top_category, 0, strrpos( $top_category, ',' ) );
}
echo $top_category;
このコードでは、まず get_the_category()
関数を使用して現在の記事が属するすべてのカテゴリを取得し、その中の最後のカテゴリのIDを取得します。そして、get_category_parents()
関数を使用して、そのカテゴリのすべての親カテゴリを取得し、カンマで区切った文字列として返します。その後、substr()
関数を使用して、最後のカンマを削除します。
これにより、最上位のカテゴリが取得されます。最上位のカテゴリがない場合は、空の文字列が返されます。
カテゴリ名がほしい
WordPressの記事ページで最上位のカテゴリ名を取得するには、以下のコードを使用できます。
$category = get_the_category();
$top_category_name = '';
if ( ! empty( $category ) ) {
$top_category = end( $category );
while ( $top_category->parent != 0 ) {
$top_category = get_category( $top_category->parent );
}
$top_category_name = $top_category->name;
}
echo $top_category_name;
このコードでは、まず get_the_category()
関数を使用して現在の記事が属するすべてのカテゴリを取得します。次に、最後のカテゴリを取得し、そのカテゴリの親カテゴリを順にたどって、最上位のカテゴリを取得します。最後に、最上位のカテゴリの名前を取得します。
このようにして、最上位のカテゴリの名前が取得されます。最上位のカテゴリがない場合は、空の文字列が返されます。