概要
get_category_by_slug
関数は、指定されたスラッグを使用して、WordPressのカテゴリー情報を取得するための関数です。この関数は、特定のカテゴリーの詳細を取得したい場合に便利です。以下は、get_category_by_slug
関数が使われる一般的なシナリオの例です。
- カテゴリーページのサブクエリを構築する
- ナビゲーションメニューにカテゴリーを追加する
- カスタム投稿タイプに関連するカテゴリーを取得する
- 投稿に関連するカテゴリーの情報取得
- テーマでカテゴリーベースのカスタマイズを行う
- フロントエンドでカテゴリー情報を表示する
- カテゴリーフィルタリング機能の実装
- SEO対策のためのカテゴリー情報の取得
構文
get_category_by_slug( string $slug );
パラメータ
$slug
(string) : 取得したいカテゴリーのスラッグ。
戻り値
- カテゴリーオブジェクト (成功時) または
null
(失敗時)。
関連する関数
使用可能なバージョン
- WordPress 3.1.0 以降
コアファイルのパス
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 |
サンプルコード
サンプルコード 1: カテゴリー情報を取得して表示
$category_slug = 'news';
$category = get_category_by_slug( $category_slug );
if ( $category ) {
echo 'カテゴリー名: ' . esc_html( $category->name );
} else {
echo 'カテゴリーが見つかりませんでした。';
}
このコードは、指定されたスラッグのカテゴリー情報を取得し、カテゴリー名を表示します。
サンプルコード 2: カテゴリー情報を配列に格納
$category_slug = 'updates';
$category = get_category_by_slug( $category_slug );
$category_array = [];
if ( $category ) {
$category_array = [
'ID' => $category->term_id,
'name' => $category->name,
'description' => $category->description,
];
}
このサンプルは、カテゴリー情報を配列に格納し、後で利用できる形にします。
サンプルコード 3: 条件に応じたカテゴリー表示
$slug = 'featured';
$category = get_category_by_slug( $slug );
if ( $category && in_category( $category->term_id ) ) {
echo '<div class="featured-category">';
echo 'この投稿は ' . esc_html( $category->name ) . ' カテゴリーに属しています。';
echo '</div>';
}
このコードは、現在の投稿が特定のカテゴリーに属しているかを確認し、該当する場合にメッセージを表示します。
サンプルコード 4: エラーハンドリングとカテゴリー取得
$slug = 'events';
$category = get_category_by_slug( $slug );
if ( ! $category ) {
error_log( '指定されたスラッグのカテゴリーが見つかりません。' );
} else {
// 必要な処理をここに記述
}
このコードは、カテゴリーが存在しない場合にエラーログにメッセージを記録します。
サンプルコード 5: ブロック表示
$slug = 'tutorials';
$category = get_category_by_slug( $slug );
if ( $category ) {
echo '<div class="category-info">';
echo '<h2>' . esc_html( $category->name ) . '</h2>';
echo '<p>' . esc_html( $category->description ) . '</p>';
echo '</div>';
}
このサンプルは、取得したカテゴリーの名前と説明をHTMLブロックとして表示します。