«Galleria» в WordPress- $ не является функцией - PullRequest
0 голосов
/ 27 марта 2011

Пытаетесь заставить скрипт Galleria работать в WordPress?Я поставил в очередь скрипт с этим кодом, и он, кажется, загружается нормально:

function add_scripts(){
// Load Galleria

wp_register_script('galleria',get_bloginfo('wpurl').'/galleria/galleria-1.2.2.min.js',array('jquery'),false);
wp_enqueue_script('galleria');
}
add_action('init','add_scripts');

В теле сообщения у меня есть следующее, но все, что я получаю, это список изображений:

<div id="gallery"><img src="http://farm4.static.flickr.com/3316/3532175582_91f984df47.jpg" alt="" />
<img src="http://farm4.static.flickr.com/3316/3532175582_91f984df47.jpg" alt="" />
<img src="http://farm4.static.flickr.com/3316/3532175582_91f984df47.jpg" alt="" /></div>
<script type="text/javascript">
            Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js');
            $("#gallery").galleria({
                width: 500,
                height: 500
            });</script>

Я получаю сообщение об ошибке: $ - это не функция ... поэтому скрипт galleria работает неправильно или в правильном порядке.

Я задал вопрос в Galleria forum .

Спасибо

Это базовая настройка для Galleria, взятая прямо из документации, которая отлично работает как отдельный html:

<!doctype html>
<html>
    <head>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
        <script src="galleria/galleria-1.2.2.min.js"></script>
    </head>
    <body>
        <div id="gallery">
            <img src="photo1.jpg">
            <img src="photo2.jpg">
            <img src="photo3.jpg">
        </div>
        <script>
            Galleria.loadTheme('galleria/themes/classic/galleria.classic.min.js');
            $("#gallery").galleria({
                width: 500,
                height: 500
            });
        </script>
    </body>
</html>

Ответы [ 3 ]

4 голосов
/ 27 марта 2011

Попробуйте заменить $("#gallery") на jQuery("#gallery")

Согласно этому сообщению , Wordpress резервирует $ для Прототип .

2 голосов
/ 27 марта 2011

По некоторым причинам, иногда с WordPress вы должны сделать так:

var $ = jQuery;

Или сделайте то, что предложил @zxt. Это должно работать тоже. Используемая ими версия jQuery не объявляет переменную $, чтобы избежать конфликтов, если вы используете другие библиотеки, которые могут использовать $.

1 голос
/ 27 марта 2011

Вам необходимо включить библиотеку jquery на вашу страницу - jquery - это то, что определяет «$».

Что-то вроде

<script type="text/javascript" src="someplace/on/your/server/jquery.js"/>
...