概要
wp_get_list_item_separator
フィルタは、ロケールに応じたリスト項目の区切り文字を取得するために使用されます。このフィルタを利用することで、特定の言語や地域に適した区切り文字を設定できます。このフィルタは、リストや配列の区切りを制御するためによく使用されます。以下のような機能を実装する際に用いられます。
- カスタムメニューのリストアイテムに適した区切りを設定
- タグやカテゴリーのリスト間に特定の区切りを挿入
- コメントセクションのユーザー名リストでの適切な区切り表示
- 投稿のメタデータリストの区切り文字を調整
- ウィジェット内でのアイテムの見栄え向上
- ショートコードで生成されるリストの区切り設定
- フィルタリングされたアイテムリストの区切りをカスタマイズ
- バーガーメニューのリストアイテムの区切り調整
構文
apply_filters( 'wp_get_list_item_separator', $separator, $items );
パラメータ
$separator
(string): 既存の区切り文字。$items
(array): 区切り対象のアイテムの配列。
戻り値
(string) 修正された区切り文字。
関連する関数
バージョン
このフィルタはWordPress 4.0から使用可能です。
コアファイルのパス
wp-includes/general-template.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: カスタム区切り文字の使用
add_filter( 'wp_get_list_item_separator', 'custom_list_item_separator', 10, 2 );
function custom_list_item_separator( $separator, $items ) {
return ' | '; // カスタム区切り文字として " | " を指定
}
このコードは、リスト項目の区切り文字を ” | ” に変更します。
サンプルコード 2: 言語に応じた区切り
add_filter( 'wp_get_list_item_separator', 'locale_based_separator', 10, 2 );
function locale_based_separator( $separator, $items ) {
$locale = get_locale();
return ( $locale === 'ja' ) ? '、' : ', '; // 日本語の場合は "、"、それ以外は ", "
}
このコードは、ロケールに応じて区切り文字を変更します。
サンプルコード 3: アイテム数に応じた区切り調整
add_filter( 'wp_get_list_item_separator', 'dynamic_separator_based_on_count', 10, 2 );
function dynamic_separator_based_on_count( $separator, $items ) {
return count( $items ) > 2 ? ' and ' : ', '; // アイテム数が2を超える場合は " and "
}
アイテム数によって区切り文字を動的に変更するサンプルです。
サンプルコード 4: HTMLタグを使った区切り
add_filter( 'wp_get_list_item_separator', 'html_separator', 10, 2 );
function html_separator( $separator, $items ) {
return '<span class="separator">|</span>'; // 区切りにHTMLタグを使用
}
HTMLタグを用いて区切りを定義する方法のサンプルです。
サンプルコード 5: デフォルトの区切り文字を保持する
add_filter( 'wp_get_list_item_separator', 'preserve_default_separator', 10, 2 );
function preserve_default_separator( $separator, $items ) {
return $separator; // デフォルトの区切り文字をそのまま返す
}
デフォルトの区切りを維持するためのサンプルコードです。