概要
before_last_bar
フィルタは、文字列の最後にある「|」の直前までの部分を取得して処理を行うために使用されます。このフィルタは、URLやカテゴリー、タグのスラッグを加工する際によく利用されることがあります。
このフィルタを使用する際によく使われる機能には、以下のようなものがあります:
1. URLのクエリストリングの操作
2. 特定条件に基づいたスラッグの修正
3. タグの名前のフォーマット調整
4. カスタム投稿タイプの処理
5. ページタイトルの整形
6. ウィジェットの設定値の修正
7. メタディスクリプションの調整
8. その他の文字列処理
構文
add_filter( 'before_last_bar', '関数名', 10, 1 );
パラメータ
$string
(string): フィルタにかける文字列
戻り値
- string: 最後の「|」の前までの文字列
関連する関数
使用可能なバージョン
- このフィルタは、WordPress 4.0以降で使用可能です。
コアファイルのパス
wp-includes/query.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( 'before_last_bar', 'custom_before_last_bar' );
function custom_before_last_bar( $string ) {
return rtrim( $string, ' | ' );
}
このサンプルは、渡された文字列の末尾から「|」を取り除くシンプルなフィルタです。
サンプルコード 2: URLからクエリストリングを取得
add_filter( 'before_last_bar', 'get_query_string_before_last_bar' );
function get_query_string_before_last_bar( $string ) {
$parts = explode( '|', $string );
return isset( $parts[0] ) ? $parts[0] : $string;
}
このサンプルは、与えられた文字列が「|」を含む場合、その前の部分を取得します。
サンプルコード 3: カスタム投稿タイプ用スラッグ処理
add_filter( 'before_last_bar', 'custom_post_type_slug' );
function custom_post_type_slug( $slug ) {
// スラッグを加工する処理
return strtoupper( $slug );
}
このサンプルは、カスタム投稿タイプのスラッグを大文字に変換します。
サンプルコード 4: メタディスクリプションの調整
add_filter( 'before_last_bar', 'adjust_meta_description' );
function adjust_meta_description( $description ) {
return substr( $description, 0, 160 ); // 160文字以内に制限
}
このサンプルは、メタディスクリプションを160文字に制限します。
サンプルコード 5: タグ名の整形
add_filter( 'before_last_bar', 'format_tag_name' );
function format_tag_name( $tag ) {
return ucfirst( strtolower( $tag ) ); // タグ名を整形
}
このサンプルは、タグ名を小文字にし、最初の文字を大文字にします。
引用元のページはありませんが、これらのサンプルコードは一般的な利用シーンに基づいて作成されたものです。