ワードプレスのwp_removable_query_argsフィルタの使用方法・解説

概要

wp_removable_query_argsフィルタは、URLの正規化時に除外するクエリー名を取得するために使用されます。このフィルタは、特定のクエリパラメータをURLから削除したい場合に便利です。例えば、トラッキング用のパラメータや、ページビューのカウントに関連する情報など、ユーザー体験を向上させるために特定の情報をURLから省きたい場合に用いられます。このフィルタは、以下のような場合に利用されることが一般的です:

  • トラッキング用のクエリーを削除する
  • SEOのために不要なパラメータを取り除く
  • ページネーションのクエリを正規化する
  • フィルターやソートの過剰なパラメータを省く
  • フォーム送信時に一時的なパラメータを削除する
  • REST APIリクエストから不要な情報を除外する
  • リダイレクト時のURLクリーンアップ
  • キャッシュプラグインとの統合によるクエリの最適化

構文

add_filter('wp_removable_query_args', 'your_callback_function');

パラメータ

  • $query_args : 一覧化されたクエリー名の配列。フィルターフックにより変更可能。

戻り値

  • 変更されたクエリー名の配列。

関連する関数

wp_removable_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_sourceutm_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パラメータを削除し、セキュリティを向上させることを意図しています。

この関数について質問する


上の計算式の答えを入力してください