Добавление заголовка к коду отслеживания событий Google - PullRequest
1 голос
/ 01 марта 2012

Я запускаю подкаст, используя Podpress на Wordpress с установленной Thesis. В настоящее время у 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 (), но думаю, что я использую это неправильно. Хотя я хотел бы пойти и на самом деле изменить PHP за плагином Podpress с этим, я боюсь, что обновление уничтожит мой код и заставит меня сделать это заново в какой-то момент. Может быть проще написать скрипт, который привязывает эту функциональность к вершине.

Буду очень признателен за любые советы о том, как приобрести этот титул. Мои текущие усилия, кажется, терпят неудачу.

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Я знаю, что вы имеете в виду, не меняя PHP в модуле, вы всегда хотите избежать этого, когда это возможно.

Не зная, как ваш HTML будет выглядеть с несколькими узлами подкастов, вы можете попробовать это - http://jsfiddle.net/CcdDA/

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

работал для меня. Надеюсь, это поможет!

0 голосов
/ 01 марта 2012

Тебе не хватает .:

var title = $a.closest('.entry-title').text(); // `.entry-title`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...