Правильно ли использовать JQuery с Wordpress? - PullRequest
2 голосов
/ 17 ноября 2011

Я возился со своим нестандартным (не плагином) слайдом jquery для Wordpress. Я целый день искал, как интегрировать JavaScript в Wordpress, но, похоже, натолкнулся на множество разных способов. Поэтому мой главный вопрос - какой из них является правильным и быстрым способом кодирования сценария.

Из того, что я прочитал, похоже, что я должен использовать очередь Wordpress, чтобы скрипт вызывался только на той странице, на которой он нужен, в моем случае это index.php Но я не уверен в правильном способе сделать это. Кроме того, я должен добавить что-то в мои functions.php?

Вот скрипт:

<script src="Js/js/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="Js/js/jquery.zaccordion.js" type="text/javascript"></script>
<script type="text/javascript"> 
  $(document).ready(function() {
    $("#example4 ul").zAccordion({
        slideWidth: 600,
        width: 900,
        height: 250,
        timeout: 5000,
        slideClass: "frame"
    });
  });
</script>

И это то, что у меня сейчас есть в моем header.php:

<?php wp_enqueue_script('jquery'); ?> 
<?php wp_head();?>
<script type="text/javascript"
        src="<?php bloginfo("template_url"); ?>/js/jquery-1.6.1.min.js"></script>
<script type="text/javascript"
        src="<?php bloginfo("template_url"); ?>/js/jquery.zaccordion.js"></script>

<script type="text/javascript">
  jQuery.noConflict();
  jQuery(document).ready(function() {
    jQuery("#slider ul").zAccordion({
        slideWidth: 600,
        width: 800,
        height: 250,
        timeout: 5000,
        slideClass: "frame"
    });
  });
</script>

Ответы [ 4 ]

0 голосов
/ 22 ноября 2011

Вы можете включить jQuery в свой файл темы и назвать его файлом functions.php.В моем случае скрипт находился в папке js (your_theme / js /).

. Правильный способ загрузки скриптов в WordPress - использовать функцию wp_enqueue_script .

.В functions.php в вашей теме типа:

/**
 * Load jQuery script
 */
if (!is_admin()) {
    function register_my_jquery() {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', get_bloginfo('template_directory') . "/js/jquery.min.js" );
        wp_enqueue_script( 'jquery' );
    }
    add_action('init', 'register_my_jquery');
}
0 голосов
/ 17 ноября 2011

Если вы не хотите создавать плагин, тогда второе лучшее решение - это установить плагин Headspace2, который позволит вам добавить любой файл JS или CSS на любую страницу со страницы редактирования / редактирования Wordpress Admin.

Также я бы превратил ваш встроенный JS во внешний файл JS (mycustom.js), а затем включил его так же, как вы делаете другие файлы JS, но это мое личное предпочтение.

0 голосов
/ 17 ноября 2011

Вот пара вещей, которые я могу предложить:

  1. Не включайте ваши .js, потому что вы уже ставите их в очередь
  2. Зарегистрируйте свой jquery.zaccordion.js, используя wp_register_script , а затем поставьте его в очередь, как вы сделали с jquery
  3. Вам не нужно включать jQuery.noConflict();, так как jQuery в WordPress уже объявил это. Только когда вы включите свой собственный jQuery, вам нужно
0 голосов
/ 17 ноября 2011

Мой совет (и решение):

Разработка плагинов для WordPress - Руководство для начинающих Packtlib press

Это действительно хорошая книга, очень понятная, простая, и есть множество хороших примеров, которые вы можете использовать с jQuery.

Кроме того, у вас есть реальные вещи, которые все должны делать при написании плагинов Wordpress;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...