説明
remove_query_arg() は、URLから、指定したクエリパラメーターを取り除く関数です。
基本構文
remove_query_arg( string|string[] $key, string|false $query = false ): string
引数
$key:削除するキー$query:対象のURL
戻り値
パラメーターを除いたURL。
使い方(サンプル)
$url = remove_query_arg( 'tab', $url );
注意点
- 出力時は
esc_url()を通します。
実務での使いどころ
- URLから、クエリのパラメータ(ページ番号、並び替えなど)を、取り除くとき。
- 複数のパラメータを、配列でまとめて、削除するとき。
よくあるミスと対処
$queryを省略すると、現在のURLが、基準になる。URLに含まれる、入力値が、そのまま出力され、XSSの原因になる。出力するときは、必ずesc_url()を通す。- パラメータを、追加したいのに、これを使っている。追加は、
add_query_arg()。
NG例
echo '<a href="' . remove_query_arg( 'sort' ) . '">解除</a>'; // 現在のURLが基準で、エスケープもない
OK例
echo '<a href="' . esc_url( remove_query_arg( 'sort', get_permalink() ) ) . '">解除</a>';
使い分け早見表
| 関数 | 役割 |
|---|---|
remove_query_arg() |
パラメータを、削除する |
add_query_arg() |
パラメータを、追加・更新する |
esc_url() |
URLを、出力用にエスケープする |
関連項目
公式リファレンス:remove_query_arg() | Function | WordPress Developer Resources

コメント