1

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]);
    });

基本的に、私の問題は、Google Analyticsに渡すことができるポッドキャストエピソードのタイトル(この例では、単に「タイトルを表示」)を取得するために、DIVを並べ替える必要があることです。これを行うために.closest()テクニックを使用しようとしていますが、これを誤って使用していると思います。これを使ってPodpressプラグインの背後にあるPHPを実際に変更したいのですが、更新によってコードが消去され、ある時点で再実行する必要があるのではないかと心配しています。この機能を最上位にスナップするスクリプトを作成する方が簡単な場合があります。

このタイトルを取得する方法についてのアドバイスをいただければ幸いです。私の現在の努力は失敗しているようです。

前もって感謝します!

4

2 に答える 2

1

モジュール内のPHPを変更しないことの意味はわかっていますが、可能な場合は常にそれを避けたいと考えています。

複数のポッドキャストノードでHTMLがどのように表示されるかわからない場合は、これを試すことができます-http://jsfiddle.net/CcdDA/

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

私のために働いた。それが役に立てば幸い!

于 2012-03-01T02:01:23.410 に答える
0

あなたが行方不明です.

var title = $a.closest('.entry-title').text(); // `.entry-title`
于 2012-03-01T00:47:28.073 に答える