从WP链接的URL中提取参数,但不带“?”或者被发送到不同的页面

时间:2021-11-23 作者:MrDysprosium

我有一个具体的要求,即我的推荐链接尽可能简单,可以手动键入(客户群技能非常低),同时参考负责推荐的员工编号。

因此,推荐链接需要如下所示:

www.domain.com/referral/1555
其中;1555“;是发送此推荐链接的员工参考号,也是我将从URL中提取的员工参考号。我使用PHP代码片段来处理加载数据和处理数据,但我需要在;“转介”;页面,以便启动该php代码段。

我如何向WP指令任何以“开始”开头的URL段塞;转介“;,接下来是什么,转到我的推荐页面并保持URL不变?我现在能做的最好的事情就是登陆推荐页面,但URL被重置为

www.domain.com/referral

2 个回复
SO网友:Aboelabbas

假设你有一个page created with the slug "referral",您可以向包含员工参考号的页面URL添加另一段,如下所示:

1-注册一个新的查询变量,例如;员工参考号;

add_filter(\'query_vars\', function ($query_vars){
    $query_vars[] = \'employee_ref\';
    return $query_vars;
});
2-使用add_rewrite_rule 函数中,为“employee\\u ref”添加一条新规则,使其等于页面URL的最后一个数字段:

add_action(\'init\', function (){
    add_rewrite_rule(
        \'^referral/([0-9]+)/?$\',
        \'index.php?pagename=referral&employee_ref=$matches[1]\',
        \'top\'
    );
});
3-转到WordPress仪表板上的permalinks设置页面,点击;“保存更改”;刷新重写规则的按钮--a mandatory step--。

4-推荐链接现在看起来像;https://yourdomain.com/referral/345/";,其中;345“;是员工参考号,您可以使用以下方法在PHP中捕获它:

get_query_var(\'employee_ref\');
前两个步骤中使用的代码可以放在主题函数中。php或插件文件。

SO网友:keepkalm

你只需要Redirection Plugin 还有一点regex。关于如何匹配插件设置中的URL,有一些很好的选项。

相关推荐

Altered Media Library URLs

我有一个客户的网站,是在他们离开另一家代理机构后我找到的。该机构使用了一个专有主题和自己的自托管页面生成器,以防止其在除他们之外的任何其他托管环境中更新或编辑。它的另一个方面是重新映射主题的URL并上载目录。因此,例如,代替WP在中查找主题文件http://domain.com/wp-content/themes/…. 它在里面找他们http://domain.com/t/….同样,对于图像上载,也可以在http://domain.com/wp-content/uploads/…, 它在里面找他们http