gpt4 book ai didi

wordpress - 如何防止 Wordpress 从 URL 查询字符串中删除 "at"符号 (@)?

转载 作者:行者123 更新时间:2023-12-04 06:08:37 24 4
gpt4 key购买 nike

我正在尝试将电子邮件地址传递给 wordpress 页面,如下所示:

http://www.website.com/?email=fakeemail@yeahwho.com

然而,Wordpress 把它变成了这样:
http://www.website.com/?email=fakeemailyeahwho.com 

我什至尝试像这样对它进行 URL 编码:
http://www.website.com/?email=fakeemail%40yeahwho.com

但是 Wordpress 太聪明了,仍然删除了 %40。

我知道 @ 是一个保留字符,但我应该仍然可以使用 URL 编码版本。唉,Wordpress 不希望它如此。

如何强制 Wordpress 尊重 @ 符号?我猜我要么必须破解内部结构,要么做一些 mod_rewrite 魔法。

最佳答案

来自 http://www.webopius.com/content/137/using-custom-url-parameters-in-wordpress

首先,将此添加到主题的functions.php 文件中(或制作自定义插件来执行此操作):

add_filter('query_vars', 'parameter_queryvars' );
function parameter_queryvars( $qvars )
{
$qvars[] = 'email';
return $qvars;
}

接下来,尝试通过 ?email=fakeemail-AT-yeahwho.com在 URL 中,然后使用以下内容将其转换回:
global $wp_query;
if (isset($wp_query->query_vars['email']))
{
$getemail = str_replace( '-AT-', '@', $wp_query->query_vars['email']);
}
// now use $getemail

这只会在非常罕见的电子邮件中实际上包含“-at-”时不起作用。如果您担心这一点,您可以替换为更晦涩的字符串,例如 '-AT6574892654738-'。

无论你的最终解决方案是什么,都不要为了让它工作而破解核心。 :)

关于wordpress - 如何防止 Wordpress 从 URL 查询字符串中删除 "at"符号 (@)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com