正如我所发现的,这给我的登陆页面带来了问题($tab 将变量堆栈获取为 ['amp;tab'] 而不是 ['tab'] ):
wp_redirect("admin.php?page=booking-manager&tab=customers");
如果我调试它:
$tab = isset($_GET['tab']) ? $_GET['tab'] : "";
echo nl2br(print_r($_REQUEST, TRUE));
die("TAB:$tab");
我得到:
Array
(
[page] => booking-manager
[amp;tab] => customers
)
TAB:
所以我必须在不使用“&”的情况下使用它才能使 if 工作:
wp_redirect("admin.php?page=booking-manager&tab=customers");
对于 onClick 和 FORM 操作属性,& 符号有效:
单击时:
onClick="window.location.href='<?php print(admin_url('admin.php?page=add-discount&discount_type=1&discount_id=0')); ?>'"
表单操作:
<form action="<?php echo admin_url('admin.php?page=add-customer&noheader=true'); ?>" method="post" id="form1">
我知道对于文本内容,我应该在 HTML 中使用 & 符号:
<p>Tom & Jerry</p>
使其成为 W3C 有效。 但我对 WordPress url 的了解迷失了。另外,从其他 CMS,如 Php-Fusion,我知道他们强制在任何地方都使用 &,并且如果需要,他们会将其 url 解析回 &。
最后一个问题 - 如何 Google 关于 &
VS &
- 谷歌根本没有给我结果,我不得不使用“& & 符号”,但是仍然 - 如何通过 Google 搜索 Google 能够理解的任何代码。
谢谢你。
最佳答案
&
字符用作 URL 字符串中 key=value
对之间的分隔符,因此转义它会对您的应用程序有害,正如您所见。如果您有一个值包含它,您应该使用 http 编码(例如,使用 urlencode
)而不是 html 编码对其进行编码。
因此,例如,如果您想传递带有值 'Tom & Jerry'
的参数 name
,urlencode
将生成字符串“汤姆+%26+杰瑞”
。
关于javascript - Wordpress url 中的 & 或 & 是正确的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32298884/