Ставить jQuery в Wordpress - PullRequest
       1

Ставить jQuery в Wordpress

0 голосов
/ 01 января 2019

Я пытаюсь поставить в очередь свой файл jQuery через functions.php, но, похоже, он не работает.

Я знаю, что скрипт работает, потому что, если я помещу его в конец файла .php, заключенного в<script>...</script> работает нормально

Файл называется jargon.js

Я вызвал файл в functions.php, используя:

add_action('wp_enqueue_scripts','asap_scripts');
// Register your assets during `wp_enqueue_scripts` hook inside 
`functions.php`.
function asap_scripts() {
   // Give the path of the script
    wp_register_script('js-jargon', get_stylesheet_directory_uri() . 
'/js/jargon.js',array('jquery')); 
}

Я использую jQueryи мой код JS следующий:

function toggleAnswer() { 
jQuery(this).next('.jargon-desc').slideToggle();
 } 

 jQuery('.jargon-desc').hide();

 jQuery('.jargon-header').click(toggleAnswer);

Любая помощь будет отличной.Я вызывал другие скрипты, используя тот же метод, и отлично работал.но у меня, похоже, проблемы с этим ..?

Ответы [ 2 ]

0 голосов
/ 01 января 2019

@ ObmerkKronen спасибо за вашу помощь.

Я сделал простое изменение:

`function ASAP_scripts () {wp_register_script ('js-jargon', get_stylesheet_directory_uri (). '/js / jargon.js ', массив (' jquery '),' 1.1 ', true);wp_enqueue_script ( 'JS-жаргон');}

add_action( 'wp_enqueue_scripts', 'ASAP_scripts' );  `

Отлично сработало.еще раз спасибо

0 голосов
/ 01 января 2019

Во-первых - пожалуйста, включите JS в вопрос, а также ошибку, которую вы получите из консоли или php, журнала и т. Д. (not working не является описанием ..)

ANYHOW -

Кажется, вы регистрируете дескриптор сценария, но на самом деле не ставите в очередь it ..

     <?php
    function asap_scripts() {

    wp_register_script('my_amazing_script_handle',  get_stylesheet_directory_uri() . 
'/js/jargon.js', __FILE__), array('jquery'),'1.1', true);

    wp_enqueue_script('my_amazing_script_handle');
    }

    add_action( 'wp_enqueue_scripts', 'asap_scripts' );  
    ?>

Как видите, wp_register_script() регистрирует только ваш дескриптор, а затем wp_enqueue_script() - это тот, кто фактически запускает включение на основе зарегистрированного дескриптора.

Что касается других возможных виновников и, как правило, для отладки (из-за отсутствия информации в OP):

Попробуйте три следующих пункта, объединенных для отладки:

  • Укажите jQuery вместо $.(известная проблема в wp)

, если вы используете jQuery - укажите jQuery('el'), а не $('el')

  • Включите сценарии в нижний колонтитул (перехват wp_footer ()действие)

Примерно так:

 wp_enqueue_script( 'my-script-handler-js', 
                    plugins_url( '/src/my-script.js', dirname( __FILE__ ) ), 
                    array( 'jquery' ), 
                    filemtime( plugin_dir_path( __FILE__ ) . '/src/my-script.js' ), 
    ,'ver', TRUE );
  • стрельба с jQuery(document).ready(function ($) { ... });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...