ワードプレスのget_category_parents関数の使用方法・解説

概要

get_category_parents関数は、親カテゴリー名を含んだカテゴリー名を取得するために使用されるWordPressの関数です。この関数は、特に階層的なカテゴリー構造を持つサイトでのカテゴリー表示やナビゲーションに役立ちます。

この関数がよく使われる機能の例:
1. ページや投稿の親カテゴリーを表示する
2. カテゴリーアーカイブページでのナビゲーションを作成する
3. パンくずリストを実装する際のカテゴリー名取得
4. カテゴリーの階層を視覚的に示すため
5. SEO対策として関連カテゴリーの表示に利用する
6. トピック関連のブログやニュースサイトでのカテゴリー管理
7. 特定のカテゴリーに属するコンテンツの構造を再確認する
8. プラグインやテーマでのカスタムウィジェットにおいての用途

構文

get_category_parents( int|object $id, bool $link = false, string $separator = '/' )

パラメータ

  • $id (int|object) : カテゴリーのIDまたはカテゴリーオブジェクト。
  • $link (bool) : trueの場合、カテゴリー名をリンクにする。
  • $separator (string) : 親カテゴリー名と子カテゴリー名の区切り文字。

戻り値

関数は、親カテゴリー名を含んだカテゴリー名を返します。返される形式は、リンク付きかどうかによって異なる場合があります。

関連する関数

使用可能なバージョン

get_category_parents関数は、WordPress 1.5以降で使用可能です。

コアファイルのパス

この関数はwp-includes/taxonomy.phpファイルに含まれています。

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

非推奨または削除されたバージョン

get_category_parents関数は、特定のバージョンで非推奨または削除されたことはありません。

サンプルコード

サンプル1: カテゴリーIDから親カテゴリーを取得

$category_id = 5; // 取得したいカテゴリーID
$parents = get_category_parents($category_id, true, ' > ');
echo $parents;

このコードは、カテゴリーIDが5のカテゴリーの親カテゴリー名を取得し、リンク付きで表示します。

サンプル2: カテゴリーオブジェクトを使用する

$category = get_category(3); // ID 3のカテゴリーを取得
$parents = get_category_parents($category, true);
echo $parents;

このコードは、特定のカテゴリーオブジェクトから親カテゴリー名をリンク付きで表示します。

サンプル3: セパレーターをカスタマイズする

echo get_category_parents(4, false, ' | ');

このコードは、セパレーターとして「 | 」を使用し、ID 4のカテゴリーの親カテゴリー名をリンクなしで表示します。

サンプル4: 子カテゴリーのパンくずリスト表示

if (is_category()) {
    $category_id = get_query_var('cat');
    echo get_category_parents($category_id, true, ' > ');
}

このコードは、カテゴリーアーカイブページで現在のカテゴリーの親カテゴリーのパンくずリストを表示します。

サンプル5: ループ内での親カテゴリー表示

while ( have_posts() ) : the_post();
    echo get_category_parents(get_the_category()[0]->term_id, true);
endwhile;

このコードは、ループ内で投稿の最初のカテゴリーの親カテゴリー名をリンク付きで表示します。

この関数について質問する


上の計算式の答えを入力してください