概要
wp_removable_query_args
フィルタは、URLの正規化時に除外するクエリー名を取得するために使用されます。このフィルタは、特定のクエリパラメータをURLから削除したい場合に便利です。例えば、トラッキング用のパラメータや、ページビューのカウントに関連する情報など、ユーザー体験を向上させるために特定の情報をURLから省きたい場合に用いられます。このフィルタは、以下のような場合に利用されることが一般的です:
- トラッキング用のクエリーを削除する
- SEOのために不要なパラメータを取り除く
- ページネーションのクエリを正規化する
- フィルターやソートの過剰なパラメータを省く
- フォーム送信時に一時的なパラメータを削除する
- REST APIリクエストから不要な情報を除外する
- リダイレクト時のURLクリーンアップ
- キャッシュプラグインとの統合によるクエリの最適化
構文
add_filter('wp_removable_query_args', 'your_callback_function');
パラメータ
$query_args
: 一覧化されたクエリー名の配列。フィルターフックにより変更可能。
戻り値
- 変更されたクエリー名の配列。
関連する関数
使用可能なバージョン
- WordPress 4.2.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_removable_query_args', 'remove_tracking_query_args');
function remove_tracking_query_args($query_args) {
$query_args[] = 'utm_source';
$query_args[] = 'utm_medium';
return $query_args;
}
このコードは、URLからutm_source
とutm_medium
のクエリパラメータを削除します。これにより、トラッキング情報がURLに残らないようにします。
サンプル2: ウェブサイトのSEO向上
add_filter('wp_removable_query_args', 'optimize_seo_url');
function optimize_seo_url($query_args) {
$query_args[] = 'ref';
return $query_args;
}
このサンプルは、URLからref
クエリパラメータを取り除くことで、SEOを改善し、クリアなURLを提供します。
サンプル3: 不要なフィルターパラメータの削除
add_filter('wp_removable_query_args', 'remove_extra_filters');
function remove_extra_filters($query_args) {
$query_args[] = 'filter';
return $query_args;
}
このコードは、フィルターパラメータfilter
を削除し、ユーザーが混乱しないようにします。
サンプル4: タグページからのクエリー削除
add_filter('wp_removable_query_args', 'forget_tags_query');
function forget_tags_query($query_args) {
if (is_tag()) {
$query_args[] = 'tag_id';
}
return $query_args;
}
このコードは、タグページにおいてtag_id
クエリを削除します。これにより、よりシンプルなURLを作成します。
サンプル5: APIリクエストからのパラメータ削除
add_filter('wp_removable_query_args', 'clean_api_params');
function clean_api_params($query_args) {
$query_args[] = 'api_key';
return $query_args;
}
このサンプルは、APIリクエストからapi_key
パラメータを削除し、セキュリティを向上させることを意図しています。