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

概要

get_category_by_slug関数は、指定されたスラッグを使用して、WordPressのカテゴリー情報を取得するための関数です。この関数は、特定のカテゴリーの詳細を取得したい場合に便利です。以下は、get_category_by_slug関数が使われる一般的なシナリオの例です。

  1. カテゴリーページのサブクエリを構築する
  2. ナビゲーションメニューにカテゴリーを追加する
  3. カスタム投稿タイプに関連するカテゴリーを取得する
  4. 投稿に関連するカテゴリーの情報取得
  5. テーマでカテゴリーベースのカスタマイズを行う
  6. フロントエンドでカテゴリー情報を表示する
  7. カテゴリーフィルタリング機能の実装
  8. 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ブロックとして表示します。

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


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