【问题标题】:Utm Parameter killing our paginationUtm 参数杀死我们的分页
【发布时间】:2017-06-06 01:41:42
【问题描述】:

我们运行一个 WP 站点,目前我们的页脚中有一个脚本,它传递一个 UTM 参数。

var querystring = '?utm_source=[utm_source]&utm_medium=[utm_medium]&utm_campaign=[utm_campaign]&cb=[cb]';

var UTm = '[utm_source]';

if(UTm != null && UTm !=''){
jQuery('a:not(".page-submenu li a")').each(function() {
    var href = jQuery(this).attr('href');

    if (href) {
        href += (href.match(/\?/) ? '&' : '') + querystring;


        jQuery(this).attr('href', href);
    }
});
}

不幸的是,这扼杀了我们博客的分页,使得页面之间的 url 从 homesite.com/blog/page/3

homesite/blog/?`utm_source=facebook&utm_medium=social&utm_campaign=blogpost+%5D%5D&cb#038;utm_medium=social&utm_campaign=blogpost+%5D%5D&cbpage/33/

这会引发语法错误,无法识别的表达式:

在这一点上,我非常愿意接受有关如何处理此问题的建议。

【问题讨论】:

    标签: javascript regex wordpress


    【解决方案1】:

    如果您的分页是从 location.href 生成其 hrefs 并且只是将 page/3 添加到末尾,那将解释 homesite/blog/?[querystring]page/3

    以下代码在重新添加page/[num]/querystring 之前删除每个锚点的href? 之后的所有内容:

    $('a:not(".page-submenu li a")').each(function() {
        var href = $(this).attr('href');
        if (href) {
            var base = href.split('?')[0];
            base += href.match(/page\/\d/g)[0];
            $(this).attr('href', base + querystring);
        }
    });
    

    【讨论】:

    • 这几乎帮助我弄清楚出了什么问题非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 2023-03-13
    • 2012-01-03
    • 2014-11-06
    • 1970-01-01
    • 2021-12-06
    • 2020-07-14
    • 1970-01-01
    相关资源
    最近更新 更多