概要
bcn_widget_display_types
フィルタは、Breadcrumb NavXT プラグインのウィジェットがどのように表示されるかを制御するために使用されます。このフィルタを利用することで、デフォルトの表示タイプに加えて、カスタムの表示タイプを追加したり、既存の表示タイプを変更したりすることができます。例えば、特定のテンプレートに合わせた表示タイプを作成することや、特定のページに対してのみ別の表示を適用することが可能です。このフィルタは、ナビゲーションのカスタマイズやユーザーの利便性向上を目的とする場面で特に役立ちます。主に以下のような機能で使用されることが一般的です:
- 独自の表示スタイルを追加する
- 既存のウィジェットの見た目を調整する
- 特定の条件に基づいた表示切り替えを実装する
- 多言語対応のナビゲーションを構築する
- カテゴリーやタクソノミーごとに異なる表示を行う
- 特定ユーザーの役割に基づく表示変更
フィルタの概要
- 構文:
add_filter( 'bcn_widget_display_types', 'custom_function_name' );
- パラメータ:
$display_types
(配列) - 戻り値:変更された
$display_types
(配列) - 使用可能なプラグイン:Breadcrumb NavXT(バージョンはバージョン3.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_widget_display_types', 'add_custom_display_type' );
function add_custom_display_type( $display_types ) {
$display_types['custom_type'] = 'カスタムタイプ';
return $display_types;
}
このコードは、Breadcrumb NavXT ウィジェットのデフォルトの表示タイプに「カスタムタイプ」という新しい表示タイプを追加します。
サンプルコード 2: 特定の条件に基づいて表示タイプを変更
add_filter( 'bcn_widget_display_types', 'change_display_type_for_specific_condition' );
function change_display_type_for_specific_condition( $display_types ) {
if ( is_page( '特定のページ' ) ) {
$display_types['special_type'] = '特別な表示';
}
return $display_types;
}
特定のページが表示されている時に特別な表示タイプを追加するコードです。
サンプルコード 3: 不要な表示タイプを削除
add_filter( 'bcn_widget_display_types', 'remove_unwanted_display_type' );
function remove_unwanted_display_type( $display_types ) {
unset( $display_types['unwanted_type'] );
return $display_types;
}
このコードでは、不要な表示タイプを削除します。
サンプルコード 4: 表示タイプのラベルを変更
add_filter( 'bcn_widget_display_types', 'modify_display_type_label' );
function modify_display_type_label( $display_types ) {
if ( isset( $display_types['default'] ) ) {
$display_types['default'] = '標準表示';
}
return $display_types;
}
ここでは、既存の「default」表示タイプのラベルを「標準表示」に変更しています。
サンプルコード 5: 条件に応じて表示タイプをカスタマイズ
add_filter( 'bcn_widget_display_types', 'conditional_display_based_on_role' );
function conditional_display_based_on_role( $display_types ) {
if ( current_user_can( 'administrator' ) ) {
$display_types['admin_only'] = '管理者専用表示';
}
return $display_types;
}
このコードは、現在のユーザーが管理者の場合にだけ「管理者専用表示」という表示タイプを追加します。