Intereting Posts
Как сделать сообщение выше? Почему, Где и Когда использовать указатели в фильтрах / крюках? Измените пул автора с псевдонима на ID Вызов содержимого страницы в AJAX в WordPress Создание новой страницы с предопределенной родительской страницей Как получить пользовательское поле изображения метабокса? Оптимизация SEO прошла не так хорошо Модуль электронного обучения Определить параметры WP_Query из URL-адреса Базовые множественные циклы отображают только первый цикл Добавьте несколько идентификаторов сообщений в wp_query Как установить формат сообщения «образ» для всех вложений изображений? Пользовательские типы сообщений. Есть ли недостатки / преимущества в использовании плагина для их разработки? Как исправить ориентацию изображений при загрузке через WordPress Media Uploader? Metabox для отображения / хранения определенного типа тега post

Правильное место для регистрации и запуска очереди

Я запускаю несколько сценариев в своих тем Functions.php:

if ( ! function_exists('b99_init_scripts') ) : function b99_init_scripts(){ if ( !is_admin()){ wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false, null, false); wp_enqueue_script('jquery'); wp_register_script('B99', get_template_directory_uri().'/javascript/site/B99.js', array('jquery'), null, false); wp_enqueue_script('B99'); wp_register_script('B99-Nav', get_template_directory_uri().'/javascript/site/module/B99.Navigation.js', array('B99'), null, false ); wp_enqueue_script('B99-Nav'); if ( is_page('portfolio') || is_front_page() ){ wp_register_script('B99-Portfolio', get_template_directory_uri().'/javascript/site/module/B99.Portfolio.js', array('B99-Nav'), null, false); wp_enqueue_script('B99-Portfolio'); } // fails if add_action is set to 'init' if ( is_singular() && get_option( 'thread_comments' ) ){ wp_enqueue_script( 'comment-reply' ); } } } endif; add_action( 'wp_enqueue_scripts', 'b99_init_scripts' ); 

Я прочитал, что надлежащее место для add_action – это «init»,

 add_action( 'init', 'b99_init_scripts' ); 

Однако my is_page('xxx') проверяет, что все сбой во время init.

Закодировано, поскольку я вставил выше:

 add_action( 'wp_enqueue_script', 'b99_init_scripts' ); 

работает так, как ожидалось, и проверки страниц работают нормально, но я не думаю, что мне нужно было отменить регистрацию, регистрацию и размещение в очереди во время процедуры wp_enqueue_scripts.

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

Solutions Collecting From Web of "Правильное место для регистрации и запуска очереди"

Я бы предложил создать функцию с именем b99_register_scripts() и b99_register_scripts() ее с init . Затем вы можете создать другую функцию с именем b99_enqueue_scripts() и подключить ее к wp_print_scripts .

wp_enqueue_scripts отлично, если он работает для вас. или wp_print_scripts также является опцией.

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