【问题标题】:Modifying URLs on a WP webpage depending on the incoming request URL parameters根据传入的请求 URL 参数修改 WP 网页上的 URL
【发布时间】:2021-09-01 09:42:01
【问题描述】:

我有一项特定任务,我必须根据传入 URL 请求的参数更改 WP 网页中包含的 URL。

假设我有一个网页https://example.com/prefix,在那个页面上,有几个链接指向另一个页面,比如https://example2.com/prefix

因此,每当有人使用某个 URL 参数重定向到 https://example.com/prefix,比如说 https://example.com/prefix?Layout=1,那么该参数需要自动添加到所述页面上的现有链接中,所以在这种情况下 https://example2.com/prefix 链接会变成https://example2.com/prefix?Layout=1

关于如何解决这个问题的任何想法?非常感谢。

【问题讨论】:

    标签: php wordpress redirect


    【解决方案1】:

    我希望我理解你的意思,有很多方法可以做到这一点,但让我介绍一种使用 JS 和 jQuery 的前端方式。让我写解决方案,稍后再解释。

    var urlParams = new URLSearchParams(window.location.search);
    var targetedParamValue = urlParams.get('test');
    if (targetedParamValue !== null){
        $('a').each(function(index, item){
            var originalLink = $(item).attr('href'); // save the original link
            if (!originalLink) return; // check if it is not an empty href
            if(originalLink.search(/http/gi) === -1) return; // check if it is a valid link
            if(originalLink.search(/\?/g) === -1) {
                $(item).attr('href', originalLink + "?test=" + targetedParamValue);
            } else {
                $(item).attr('href', originalLink + "&test=" + targetedParamValue);
            }
        });
    }
    

    基本上,我们:

    • 捕获参数。
    • 捕获锚标记。
    • 循环遍历每个标签。
    • 检查我们是否可以将参数应用于锚标签。
    • 追加或添加参数。

    【讨论】:

      猜你喜欢
      • 2018-09-27
      • 1970-01-01
      • 2018-07-04
      • 2016-02-03
      • 2015-09-16
      • 2010-11-25
      • 2012-12-11
      • 1970-01-01
      • 2014-06-05
      相关资源
      最近更新 更多