PHP путь в Jquery - PullRequest
       11

PHP путь в Jquery

2 голосов
/ 26 августа 2011

Я пытаюсь интегрировать mp3-плеер в WordPress, используя следующий код:

 $(document).ready(function(){
        var description = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit';
            var path_php = "<?php bloginfo('template_directory'); ?>";

        $('body').ttwMusicPlayer(myPlaylist, {
            autoPlay:false, 
            description:description,
            jPlayer:{
                swfPath: path_php+'/plugin/jquery-jplayer' 
            }
        });
    });

Странным образом проигрыватель работает только в Opera и IE8.Сценарий правильно интегрирован, потому что он работает, если я напишу абсолютный путь к блогу для переменной php_path.

Может помочь мне с тем, что мне не хватает?Спасибо!

позже отредактируйте: если у вас есть идея о другом подходе к загрузке пути шаблона wp в приведенном выше коде jquery, я открыт для него.

здесь вывод браузерадля вышеуказанного кода:

  $(document).ready(function(){
            var description = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit';
            var path_php = "http://localhost/mywebsite/wp-content/themes/mythemename";

            $('body').ttwMusicPlayer(myPlaylist, {
                autoPlay:false, 
                description:description,
                jPlayer:{
                    swfPath: path_php+'/plugin/jquery-jplayer' 
                }
            });
        });

Ответы [ 4 ]

0 голосов
/ 29 декабря 2011

Эй, я только что написал скрипт для конвертации mp3-ссылок в аудиоплеер: http://www.bottleofbrass.com/?p=85

Приведенный ниже код Javascript использует jQuery для конвертации mp3-ссылок в флеш-плеер на лету. Он использует этот флеш-плеер: http://flash -mp3-player.net .

$ ('# main a'). each (function () { если ($ (это) .attr ( 'HREF')! = не определено) { матч = $ (это) .attr ( 'HREF') совпадают (/ \ (mp3) /.). если (соответствует! = NULL) { HREF = $ (это) .attr ( 'HREF'); текст = $ (это) .text (); player = '' + text + '' + '' + '' + '' + '' + ''; р = $ (это) .parent (); $ (Это) .remove (); $ (Р) .append (игрок); } } });
0 голосов
/ 26 августа 2011

В WordPress

plugins_url()

возвращает URL-адрес плагина, включая домен.

$(document).ready(function(){
    var description = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit';
        var path_php = "<?php print plugins_url(); ?>";

    $('body').ttwMusicPlayer(myPlaylist, {
        autoPlay:false, 
        description:description,
        jPlayer:{
            swfPath: path_php.match(/http:\/\/[^\/]+(.*)/)[1]+'jquery-jplayer' 
        }
    });
});

Так что вместо http: // и домена следует заменить ничего, оставив вам толькопуть к плагину и jquery-jplayer в конце.

0 голосов
/ 26 августа 2011

Пожалуйста, измените $ на jQuery, поскольку Wordpress работает в режиме noconflict, подробнее об этом здесь -> http://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

0 голосов
/ 26 августа 2011

Я почти уверен, bloginfo('template_directory') возвращает абсолютный URL, а Flash будет загружать только относительные URL по соображениям безопасности.

http://codex.wordpress.org/Function_Reference/bloginfo

РЕДАКТИРОВАТЬ:

Игнорироватьмой последний комментарий ниже, попробуйте это.

<?php print str_replace(get_bloginfo('url'), '', get_bloginfo('template_directory'))?>
...