Ersetzen Sie Audio-Links mit jplayer mit dem content_content-Filter

Ich versuche zu verwenden:

add_filter( 'the_content', 'filter_function_name' ); 

Um alle Anchor-Tags in meinem Post zu finden, die mit einer .mp3-Datei verlinkt sind, und sie dann durch eine jplayer-Instanz zu ersetzen, die die Datei abspielen würde, anstatt nur den Link zur Datei angezeigt zu bekommen.

Also versuche ich, alle Anker-Tags, die von the_content ausgegeben werden, durch Instanzen des folgenden html und js zu ersetzen:

html:

    

Javascript:

  $(document).ready(function(){ $("#jquery_jplayer_#uniqueid").jPlayer({ ready: function () { $(this).jPlayer("setMedia", { m4a: "#the_url_from_the_anchor_tag", }) //.jPlayer("play"); }, swfPath: "js/jplayer", supplied: "m4a, mp3, oga", wmode:"window", cssSelectorAncestor: '#jp_container_#uniqueid' }); });  

Jede Hilfe wird geschätzt. Vielen Dank.

Solutions Collecting From Web of "Ersetzen Sie Audio-Links mit jplayer mit dem content_content-Filter"

Sie müssen dem the_content einen Filter the_content und das Markup ändern. Dies sollte das Markup für -Tags mit URLs mit der Endung .mp3 , die Sie speziell in einem Kommentar erwähnt haben.

 function replace_audio_link_cb_105555($match) { if (!empty($match[1]) && '.mp3' == substr($match[1],-4)) { $your_long_block_of_markup = ' '; $your_javascript = ''; $match[0] = $your_long_block_of_markup.$your_javascript; } return $match[0]; } function replace_audio_link_105555($content) { $pattern = '|?.*?(?:)?|'; $content = preg_replace_callback($pattern,'replace_audio_link_cb_105555',$content); return $content; } add_filter('the_content','replace_audio_link_105555'); 

Wenn ich es wäre, würde ich einen Weg finden, das Javascript ein wenig flexibler zu machen, damit ich es registrieren und in die Warteschlange stellen kann, anstatt es für jede Audiodatei unabhängig zu drucken.

Ich habe dies getan, um alle Audio, Video Tag und mp3, m4v Links zu finden und Thema in einem jPlayer http://jsfiddle.net/onigetoc/vaot2auz/