2015-02-09 2 views
2

У меня возникли проблемы с пониманием того, как разместить javascript в теме Wordpress.Как реализовать javascript в Wordpress

  1. Я знаю, что я должен сохранить этот JavaScript:

http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js

и поместить его в папку на сервере под «JS», но что мне делать с функциями JavaScript?

$(document).ready(function(){ 
       $('#contactButton').click(function(){ 
        $('#contactDropDown').show("fast"); 
        $('#contactDropDown').animate({height:'500px'}, 200); 
       }); 

       $('#closeBox').click(function(){ 
        $('#contactDropDown').hide("fast"); 
        $('#contactDropDown').animate({height:'0px'}, 200); 
       }); 
      }); 

Сохраните это как другой документ, но сохраните его в той же папке «js»?

  1. Каков точный код, который мне нужно внести в функцию. Php темы?

я также создал скрипку для немного больше понимания: http://jsfiddle.net/ptemyw52/

(Код JavaScript для выпадающего контактного поля)

ответ

1

Wordpress Уже включило JQuery.

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

Вы должны убедиться, что это где-то enqued. Если JQuery не работает либо в вашем functions.php или ваш head.php епдиеего это так:

wp_enqueue_script('jquery'); 

Wordpress нагрузки JQuery при работе без конфликтов режима так побрякушки ($) не будут работать, вы должны сначала введите jQuery. Вы действительно можете просто набрать его и передать его через ваш документ готов, например, так:

<script> 
jQuery(document).ready(function($){ 
    $('#contactButton').click(function(){ 
     $('#contactDropDown').show("fast"); 
     $('#contactDropDown').animate({height:'500px'}, 200); 
    }); 

    $('#closeBox').click(function(){ 
     $('#contactDropDown').hide("fast"); 
     $('#contactDropDown').animate({height:'0px'}, 200); 
    }); 
}); 
</script> 

Вы можете на самом деле просто добавить к вашей footer.php, если это единственный код, у вас есть .. Если вы в конечном итоге имея больше javascript, вы можете захотеть создать собственный файл и поставить в очередь.

+1

Мне нужно поставить этот код в теги – w3bMak3r

+0

okay сделал сохраненные функции с помощью тегов скриптов и добавил их в папку js, когда я вставляю его в ссылку @bobdye, он приходит с ошибкой, поэтому у меня возникают проблемы eunqueueing it – sara

-1

in: wp-content/themes/your-template/js вы помещаете свой js-файл. Тогда в голове документа (это может быть заголовок, индекс и т.д.)

<script src="<?php echo get_template_directory_uri(); ?>/js/your.js"></script> 
+1

Не делайте этого ... Это действительно плохая практика. Это не то, как вы загружаете скрипты в wordpress – w3bMak3r

+1

у вас есть предложение, как это сделать @ w3bMak3r? – sara

+1

Я разместил ответ ниже. Wordpress использует скрипты enqueue для загрузки скриптов в нужных местах. – w3bMak3r

3

Вы можете использовать функцию WordPress wp_enqueue_script сказать WordPress, что для загрузки.

Он имеет JQuery встроенную команду, так что вы можете просто сказать ему:

wp_enqueue_script('jquery'); 

, чтобы получить это. Для вашего собственного кода, поместите его в файл где-нибудь (например, JS/scripts.js), а затем сказать WordPress, чтобы загрузить его с:

wp_enqueue_script(
    'myscript', 
    get_stylesheet_directory_uri() . '/js/scripts.js', 
    array('jquery') 
); 

Последний аргумент array('jquery') сообщает WP, что ваши сценарии зависят от наличия JQuery.

+0

Если то, что вы показываете в вопросе, вам нужно, вы можете поместить его прямо в файл JS как есть. WordPress будет загружаться в jQuery, а затем загружать в ваш скрипт. Затем вы запустите скрипт, и вы должны быть установлены. – bobdye

+1

Мне нужно поставить код моих функций в