概要
get_sitemap_url
フィルタは、XMLサイトマップのURLを取得するために使用されるフィルターフックです。このフィルタは、テーマやプラグインがXMLサイトマップのURLをカスタマイズするためによく使われます。以下は、このフィルタがよく使われる機能の例です。
- 特定のURL構造を持つサイトマップへのリダイレクト
- サイトマップのURLを多言語対応にする
- サイトマップのURLを条件に応じて変更
- サイトマップを外部プロバイダーに渡すためのカスタマイズ
- ユーザーごとに異なるサイトマップを提供
- SEOプラグインとの統合のためのURL調整
- サイトマップをバージョン別に分ける
- クラックされたように見えたサイトマップURLを修正
構文
apply_filters( 'get_sitemap_url', $url );
パラメータ
$url
: 現在のサイトマップのURL (文字列)。
戻り値
- フィルタリングされたサイトマップのURL (文字列)。
関連する関数
https://refwp.com/?titleonly=1&s=get_sitemap_url
使用可能なバージョン
- WordPress 5.5 以降
コアファイルのパス
/wp-includes/sitemap-functions.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: デフォルトのサイトマップURLを変更
add_filter( 'get_sitemap_url', 'custom_sitemap_url' );
function custom_sitemap_url( $url ) {
return 'https://example.com/custom-sitemap.xml';
}
このサンプルは、サイトマップのURLをhttps://example.com/custom-sitemap.xml
に変更します。
サンプルコード2: サイトマップのURLに個別のクエリパラメータを追加
add_filter( 'get_sitemap_url', 'add_query_param_to_sitemap_url' );
function add_query_param_to_sitemap_url( $url ) {
return $url . '?version=1.0';
}
このサンプルは、サイトマップのURLにversion=1.0
というクエリパラメータを追加します。
サンプルコード3: 多言語サイト用のカスタマイズ
add_filter( 'get_sitemap_url', 'custom_multilingual_sitemap_url' );
function custom_multilingual_sitemap_url( $url ) {
$lang = get_query_var('lang'); // 現在の言語を取得
return 'https://example.com/' . $lang . '/sitemap.xml';
}
このサンプルは、現在の言語に応じたサイトマップのURLを生成します。
サンプルコード4: サイトマップのURLを外部サービスに転送
add_filter( 'get_sitemap_url', 'forward_sitemap_url' );
function forward_sitemap_url( $url ) {
return 'https://external-provider.com/sitemap?url=' . urlencode($url);
}
このサンプルは、サイトマップのURLを外部サービスに転送するための形式で返します。
サンプルコード5: ウェブサイトのバージョンによってサイトマップを変更
add_filter( 'get_sitemap_url', 'version_based_sitemap' );
function version_based_sitemap( $url ) {
if ( is_version('2.0') ) {
return 'https://example.com/v2/sitemap.xml';
}
return $url;
}
このサンプルは、特定のバージョン条件に基づいて異なるサイトマップのURLを提供します。