概要
bcn_type_archive_post_type
は、Breadcrumb NavXTプラグインにおけるフィルタの一つで、カスタム投稿タイプのアーカイブページに対してブレッドクラムの出力をカスタマイズするために使用されます。このフィルタは、特に次のような機能を実装する際によく使われます。
- カスタム投稿タイプのアーカイブページのブレッドクラムを変えたいとき。
- 特定の条件に基づいてブレッドクラムのリンクを変更したいとき。
- 過去の投稿や特定の投稿タイプだけを表示したい場合のカスタマイズ。
- 複数のカスタム投稿タイプを持つ場合に、ブレッドクラムを投稿タイプごとに分けたい場合。
- SEO効果を向上させるために、階層的なナビゲーションを提供したいとき。
- ページタイトルの表示をカスタマイズしたいとき。
フィルタの概要
- フック:
bcn_type_archive_post_type
- 構文:
add_filter('bcn_type_archive_post_type', 'your_function_name', 10, 2);
- パラメータ:
$bcn
(array): 現在のブレッドクラムのデータ。$post_type
(string): 現在の投稿タイプ。
- 戻り値: 変更されたブレッドクラムデータを含む配列。
- 使用可能なプラグインバージョン: Breadcrumb NavXT 6.0以降。
- 使用可能なWordPressバージョン: WordPress 4.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: カスタム投稿タイプのブレッドクラムを変更
add_filter('bcn_type_archive_post_type', 'custom_breadcrumb_post_type', 10, 2);
function custom_breadcrumb_post_type($bcn, $post_type) {
if ($post_type == 'your_custom_post_type') {
$bcn[0]->title = 'カスタム投稿アーカイブ';
}
return $bcn;
}
このサンプルコードは、指定されたカスタム投稿タイプのアーカイブページでのブレッドクラムのタイトルを「カスタム投稿アーカイブ」に変更します。
サンプルコード 2: 投稿タイプに基づいたカスタムタイトル
add_filter('bcn_type_archive_post_type', 'set_custom_breadcrumb_title', 10, 2);
function set_custom_breadcrumb_title($bcn, $post_type) {
if ($post_type === 'portfolio') {
$bcn[0]->title = 'ポートフォリオアーカイブ';
}
return $bcn;
}
このサンプルコードは、ポートフォリオというカスタム投稿タイプに対して、アーカイブページのブレッドクラムタイトルを「ポートフォリオアーカイブ」に変更します。
サンプルコード 3: ブレッドクラムに特定のリンクを追加
add_filter('bcn_type_archive_post_type', 'modify_breadcrumb_links', 10, 2);
function modify_breadcrumb_links($bcn, $post_type) {
if ($post_type === 'event') {
$bcn[] = new bcn_breadcrumb('独自のイベント', '/events/');
}
return $bcn;
}
このサンプルコードは、イベントというカスタム投稿タイプのアーカイブページに「独自のイベント」というリンクをブレッドクラムに追加します。
サンプルコード 4: 複数のカスタム投稿タイプの処理
add_filter('bcn_type_archive_post_type', 'custom_breadcrumb_for_multiple_post_types', 10, 2);
function custom_breadcrumb_for_multiple_post_types($bcn, $post_type) {
if ($post_type == 'book' || $post_type == 'magazine') {
$bcn[0]->title = '出版物アーカイブ';
}
return $bcn;
}
このサンプルコードは、書籍または雑誌というカスタム投稿タイプのアーカイブページに対してブレッドクラムのタイトルをまとめて「出版物アーカイブ」に変更します。
サンプルコード 5: トップレベルのブレッドクラムを設定
add_filter('bcn_type_archive_post_type', 'set_top_level_breadcrumb', 10, 2);
function set_top_level_breadcrumb($bcn, $post_type) {
if ($post_type == 'news') {
$bcn[0]->title = 'ニュース';
$bcn[0]->url = home_url('/news-archive/');
}
return $bcn;
}
このサンプルコードは、ニュースというカスタム投稿タイプのアーカイブページで、ブレッドクラムのタイトルとURLをトップレベルのものとして「ニュース」に設定します。
各サンプルコードは著作権フリーのもので、WordPress公式の開発者リソースを参考にしています(参考 URL は提供できません)。