Условный wp_enqueue_script на странице

Для эффективности мы пытаемся подключить некоторые сценарии JS только к определенному шаблону страницы темы, которая должна содержать форму: page-with-form.php

На тему functions.php мы определили init_method как таковой:

function my_init_method(){ $dir = get_bloginfo('stylesheet_directory')."/js/jquery.js"; wp_deregister_script('jquery'); wp_register_script('jquery',$dir); wp_enqueue_script('jquery'); $dir = get_bloginfo('stylesheet_directory')."/js/jquery.validate.min.js"; wp_deregister_script('jquery.validate.min'); wp_register_script('jquery.validate',$dir); wp_enqueue_script('jquery.validate.min'); $dir = get_bloginfo('stylesheet_directory')."/js/funcion.js"; wp_deregister_script('funcion'); wp_register_script('funcion',$dir); wp_enqueue_script('funcion'); } 

Затем мы ожидали, что мы сможем просто добавить на странице шаблона страницы с формой страницы-form.php (перед get_header ()):

 add_action('init', 'my_init_method'); 
  • Разве это невозможно?
  • Мы вынуждены добавить правило if, чтобы функция functions.php обнаружила, что мы находимся на этой странице?

Изменения кода, основанные на ответах: На шаблоне страницы загружайте функцию напрямую, нет необходимости добавлять_заполнение («init» …

 my_init_method(); ... get_header(); 

Solutions Collecting From Web of "Условный wp_enqueue_script на странице"

init намного раньше, чем загрузка шаблона страницы и не подходящее место для очереди (несмотря на то, что для этого используются многие учебники и документы).

wp_enqueue_scripts свою функцию к wp_enqueue_scripts и убедитесь, что вы делаете это подключение до wp_head() в шаблоне.

В дополнение к правильному подключению (как указано в @Rarst) вам необходимо переместить функциональный код на functions.php и обернуть содержимое функции в if ( is_page( 'page-with-form' ) ) условное ,

Когда вы загрузили свой файл шаблона, вы уже прошли крючок 'template_redirect' , который слишком поздний (см. Ссылку на плагин / Action API ).

Вам нужно установить вызов add_action в файле functions.php, который загружается до after_setup_theme – который является первым доступным приложением для тем.