区别在于,在“plugin\\u part1-fixed.php”中,不会丢失现有的参数。考虑url:
https://www.example.com/page/?foo=bar
“plugin\\u part1.php”中的代码将输出
<a href="https://www.example.com/page/?custom_var=column">text</a>
注意,现有的arg“foo”已经丢失,“plugin_part1-fixed.php”中的代码将输出:
<a href="https://www.example.com/page/?foo=bar&custom_var=column">text</a>
请注意,现有的arg“foo”仍然存在,并且已附加您的arg。
因为您没有任何现有参数,所以看不到有什么区别。也就是说,使用add_query_arg()
这仍然是最佳实践,因为您不知道是否必须与另一个插件交互,该插件可能出于任何原因也会发送参数。
此外,请记住,您应该始终包装add_query_arg()
在里面esc_url()
更好地解释了防止XSS脚本编写here.