添加Google事件跟踪代码的标题

时间:2012-03-01 00:43:15

标签: jquery wordpress google-analytics podpress

我在安装了Thesis的Wordpress上使用Podpress运行播客。目前,Podpress有自己的内部统计系统用于跟踪播放和下载,但我想通过在听众点击下载/播放/任何媒体文件时添加一些Google事件跟踪来扩展它。下面,我已经包含了我们的系统为新条目生成的HTML代码示例:

<div class="teasers_box">

            <div id="post-2855" class="post-2855 post type-post status-publish format-standard hentry category-episodes teaser">

<h2 class="entry-title"><a title="Permanent link to Show Title" rel="bookmark" href="http://www.test.com/2012/02/22/show-title/">Show Title</a></h2>
<abbr title="2012-02-22" class="teaser_date published">February 22, 2012</abbr>

<div class="format_teaser entry-content">
<p>Show Description</p>
<div class="podPress_content podPress_content_audio_mp3">
<div style="display:block;" class="podpress_playerspace podpress_playerspace_audio_mp3 podpress_mp3player"></div>

<div class="podPress_downloadlinks podPress_downloadlinks_audio_mp3"><a class="podpress_downloadimglink podpress_downloadimglink_audio_mp3" title="Download: Show Title" target="new" href="http://www.test.com/podpress_trac/web/2855/0/2012_02_22_showtitle.mp3"><img alt="" class="podPress_imgicon podpress_imgicon_audio_mp3" src="http://www.test.com/wp-content/plugins/podpress/images/audio_mp3_button.png"></a> <span class="podpress_mediafile_title podpress_mediafile_title_audio_mp3">Show Title</span> <span class="podpress_mediafile_dursize podpress_mediafile_dursize_audio_mp3">[ 39:21 ]</span> <a class="podpress_downloadlink podpress_downloadlink_audio_mp3" target="new" href="">Download</a></div></div>
</div>

我有一些jQuery代码,某些人帮助我早些时候在这个板上。我一直在修补它,试图找出我想要的东西。现在,这就是我所拥有的:

$('a.podpress_downloadlink_audio_mp3').click(function(e) {
     e.preventDefault();
      var $a = $(this);
      //  $a is the anchor that was clicked. you can access attributes or its  text to populate the _gaq.push call below.  e.g. var text = $a.text();

     var title = $a.closest('entry-title').text();
     _gaq.push(['_trackEvent', 'Podcasts', 'Download', title]);
    });

基本上,我的问题是我需要通过DIV排序以获取播客节目的标题(在此示例中,它只是“显示标题”),我可以将其传递给Google Analytics。我正在尝试使用.closest()技术来做到这一点,但我在想我正在使用它。虽然我想进入并实际修改Podpress插件背后的PHP,我担心更新会消灭我的代码并迫使我在某些时候重新执行它。编写一个可以在顶部捕获此功能的脚本可能更容易。

如何获得此标题的任何建议将不胜感激。我目前的努力似乎都失败了。

提前致谢!

2 个答案:

答案 0 :(得分:1)

我知道你不改变模块中PHP的意思,你总是希望尽可能避免这种情况。

不知道您的html在多个播客节点中的外观,您可以试试这个 - http://jsfiddle.net/CcdDA/

var title = $a.parents('.format_teaser').siblings().prev('h2.entry-title').text();

为我工作。希望它有所帮助!

答案 1 :(得分:0)

你错过了.

var title = $a.closest('.entry-title').text(); // `.entry-title`