プラグインBreadcrumb NavXTのbcn_pick_post_term関数の使用方法・解説

概要

bcn_pick_post_term 関数は、WordPress プラグイン「Breadcrumb NavXT」において、特定の投稿に関連するターム(用語)を取得するために使用される関数です。この関数は、パンくずリストの生成を容易にするため、さまざまなカスタムポストタイプやタクソノミーと連携し、SEO対策やナビゲーションの向上に寄与します。具体的には、次のようなシナリオでよく使用されます。

  1. カスタム投稿タイプのタームを取得するため
  2. 複数のタクソノミーを扱う際のタームの選択
  3. 特定のタームの情報を表示するためのカスタム関数との統合
  4. タームに基づいたフィルタリング機能の実装
  5. パンくずリストの表示カスタマイズ
  6. SEOを考慮したパンくずリストの動的生成

構文

bcn_pick_post_term( $post_id, $taxonomy );

パラメータ

  • $post_id (int): タームを取得したい投稿のID。
  • $taxonomy (string): 取得したいタームのタクソノミー名。

戻り値

  • タームオブジェクトまたはnull(指定されたタームが存在しない場合)。

対応バージョン

  • プラグイン「Breadcrumb NavXT」のバージョン: 6.0以降
  • WordPress のバージョン: 5.0以降

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

アクション 使用例
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: 投稿タームの取得

$post_id = 123; // 取得対象の投稿ID
$taxonomy = 'category'; // 取得対象のタクソノミー
$term = bcn_pick_post_term($post_id, $taxonomy);
if($term) {
    echo '取得したターム名: ' . esc_html($term->name);
}

このサンプルは、特定の投稿IDのカテゴリータームを取得し、その名前を表示します。

サンプルコード2: タクソノミーによる条件分岐

$post_id = get_the_ID();
$taxonomy = 'custom_taxonomy';
$term = bcn_pick_post_term($post_id, $taxonomy);
if($term) {
    if($term->slug === 'special') {
        // 特別なタームの時の処理
        echo '特別なタームです!';
    }
}

このサンプルは、現在の投稿のIDからカスタムタクソノミーのタームを取得し、特定のスラッグを持つ場合の条件分岐を行います。

サンプルコード3: タームのリンクを生成

$post_id = 456;
$taxonomy = 'tags';
$term = bcn_pick_post_term($post_id, $taxonomy);
if($term) {
    echo '<a href="'. esc_url(get_term_link($term)) .'">' . esc_html($term->name) . '</a>';
}

このサンプルは、指定した投稿のタグタームを取得し、それをリンクとして表示します。

サンプルコード4: 投稿のタームリストを表示

$post_id = 789;
$taxonomy = 'genre';
$term = bcn_pick_post_term($post_id, $taxonomy);
if($term) {
    echo '<ul>';
    foreach ($term as $t) {
        echo '<li>' . esc_html($t->name) . '</li>';
    }
    echo '</ul>';
}

このサンプルは、特定の投稿が持つジャンルタームをリスト形式で表示します。

サンプルコード5: エラーハンドリング

$post_id = 123;
$taxonomy = 'category';
$term = bcn_pick_post_term($post_id, $taxonomy);
if($term === null) {
    echo 'この投稿にはタームが関連付けられていません。';
} else {
    echo '関連するターム: ' . esc_html($term->name);
}

このサンプルは、タームが存在しない場合にエラーメッセージを表示するコードです。

以上のコードはすべて著作権フリーのものであり、個別にカスタマイズして使用することができます。

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


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