如何使用PHP代码添加一个UTM标签来动态地获取UTM中的POST slug?

时间:2021-11-04 作者:Punct Ulica

我想做的事是可行的,但我不知道怎么做。

尴尬时刻即将到来:我几年前确实做过这件事,但丢失了代码,无法在网上找到它是如何完成的。

我想做的是在我的标题中的链接上添加一个动态UTM标记,以便UTM标记拾取访问者正在单击的页面的片段。

示例:如果访问者在一篇帖子上写着slug/something-goes-here/并单击了CTA按钮,那么他访问的CTA页面应该有/second-page/?utm\\u source=这里有东西

你们知道如何用PHP中的一些代码来实现这一点吗?

1 个回复
最合适的回答,由SO网友:Buttered_Toast 整理而成

我想到的是通过global $post, 下一步是通过$post->post_name, 接下来检查slug是否需要使用utm查询更新链接。

就像这样。

// get the current post
global $post;

// get the post slug, if not set then set it to empty string
$post_slug = $post->post_name ?? \'\';

// an array of slugs that need to add utm to link
$utm_slugs = [
    \'slug-1\',
    \'slug-2\',
    \'slug-3\'
];

// set default value (empty string), in case no slug was matched
$utm_query = \'\';

// if post slug exists and in the utm slugs array, set a utm query
if (!empty($post_slug) && in_array($post_slug, $utm_slugs)) $utm_query = \'?utm_source=\' . $post_slug;
现在我们已经处理了php部分,我们需要创建链接
这只是一个示例,因此请相应地进行更改。

<a href="http://domain.com/<?= $utm_query; ?>">Some link</a>

相关推荐

将博客帖子上的“无评论”链接更改为“我的字符串”(在代码中查找代码片段或使用CSS、PHP解决方案)

“我正在尝试替换标准”;“无意见”;在博客帖子上链接到;留下评论"E;我用的是西纳特拉主题。我找不到创建此文本的代码。所以,我想知道它在哪里。这很容易在我的孩子主题中替换。我曾经尝试过使用类似这样的伪元素的CSS,但没有任何效果:a.comments-link:{内容:\'留下评论\';}这会在正确的位置添加文本,但不会删除;“无意见”;文本如果成功,它还将消除;1注释“;帖子上有评论的文本。我不知道如何在PHP中做到这一点。如有任何想法,将不胜感激感谢您在这方面提供的任何帮助。这就是我的职责所在