将数据跟踪添加到菜单中的链接

时间:2017-02-02 作者:Vincent van Rooij

谁能告诉我如何在菜单中的链接中添加“data track”标记。当我进入仪表板->菜单时,我可以添加任何自定义HTML。

我想从以下几点开始:

<a href="http://www.detailingwiki.org/articles/">Article index</a>
对此:

<a data-track="navigation|click|article-index" href="http://www.detailingwiki.org/articles/">Article index</a>
代码的第一部分可以始终相同(即“data track=“navigation | click”)。结尾部分应复制链接中的文本。在上面的示例中,这是“article index”,但它应该只取链接中的文本。(不确定是否允许空格…)

我还不能自己做,我不想编辑核心wordpress文件。

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

所以实际上有一个filter 为此,如果您的主题不使用自己的菜单行者类:

function add_data_track_attribute( $atts, $item, $args ) {
    $title = apply_filters( \'the_title\', $item->title, $item->ID );
    // $title = sanitize_title($title); // if you need a slug-like title
    $atts[\'data-track\'] = \'navigation|click|\'.$title;
    return $atts;
}
add_filter(\'nav_menu_link_attributes\', \'add_data_track_attribute\', 10, 3);
请注意注释掉的行:我不确定data track属性的作用,正如您所说,它可能不允许使用空格。如果没有,那么这一行将把标题转换成一个slug,这应该是可以接受的。

希望这有帮助!

SO网友:Vincent van Rooij

如果任何人正在寻找相同的解决方案,但具有正确的Google Analytics事件跟踪代码,请参阅以下内容:

function add_data_track_attribute( $atts, $item, $args ) {
    $title = apply_filters( \'the_title\', $item->title, $item->ID );
    $title = sanitize_title($title); // if you need a slug-like title
    $atts[\'onClick\'] = \'ga(\\\'send\\\', \\\'event\\\', \\\'navlink\\\', \\\'click\\\', \\\'\'.$title.\'\\\');\';
    return $atts;
}
add_filter(\'nav_menu_link_attributes\', \'add_data_track_attribute\', 10, 3);
最后,您要更改的部分是:navlink-将其更改为您的活动所属的类别。在我的例子中,它的意思是“导航中的链接”

相关推荐

Making sub-menus exclusive

我真的不知道该怎么解释我在这里找的东西,我在这里找得太露骨了。在我的网站上,我有一个附带菜单,其中包含一系列子类别,每个子类别中都有一些项目。我想知道当我打开另一个子类别时,是否有办法关闭所有其他打开的子类别,例如:1. Animals ----A. Cats ----B. Dogs 2. People ----A. Samantha ----B. Daniel 当我按下“动物”时,我希望“人”关闭,反之亦