Intereting Posts
Получить постоянную связь без домена (т. Е. Получить относительную постоянную ссылку) Как подключить мою функцию к запуску только после отправки формы входа Ссылка на канал Youtube на сайте WordPress Как я могу войти в данные сеанса пользователя из admin-ajax? Создание пользовательской структуры константной ссылки для языков Система тегов, такая как Quora? wp_localize_script с mce_external_plugins в wordpress Выпадающее меню категории «Тип почтового запроса» Есть ли способ вызвать только содержимое страницы без фактической работы с этой страницей? Загружать изображения в таблицу пользовательских баз данных в бэкэнде администратора Ошибка разрешений Как удалить дублирующееся имя подменю для элементов меню верхнего уровня в плагине? Изменение разделителя тысяч тысяч по умолчанию для языка EN Как включить Zend Optimiser + с Batcache Получить название перед запятой

Тема WP с Backbone

Что было бы лучшим способом обеспечить, чтобы тема WP-базы Backbone взаимодействовала со стандартными кодами и другими плагинами WP, которые включают теги сценариев и стиля в верхнем и нижнем колонтитуле. Я знаю, что Backbone играет красиво с помощью сценариев jQuery, но я не уверен в том, насколько хорошо он будет работать в ситуации, когда есть плагины jQuery, загруженные require.js для самого приложения js, и тот же сценарий jQuery, загружаемый в нижний колонтитул некоторых стр.
Я думал о захвате wp_head и wp_footer целевой страницы / сообщения, представленной в некоторых основных проблемах, но это оставляет мне вопрос, загрузил ли я уже этот плагин jQuery в require.js.

Хорошо, если вы используете Backbone с _s ( https://github.com/tlovett1/_s_backbone ), у вас не будет проблем. Они использовали основу для некоторых эффектов, и enqueuing присутствует все еще.

/** * Enqueue scripts and styles. */ function _s_backbone_scripts() { wp_enqueue_style( '_s_backbone-style', get_stylesheet_uri() ); wp_enqueue_script( '_s_backbone-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '20120206', true ); wp_enqueue_script( '_s_backbone-skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', array(), '20130115', true ); if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) { wp_enqueue_script( 'comment-reply' ); } elseif ( is_home() || is_front_page() || is_archive() || is_search() ) { global $wp_rewrite; wp_enqueue_script( '_s_backbone-loop', get_template_directory_uri() . '/js/loop.js', array( 'jquery', 'backbone', 'underscore', 'wp-api' ), '1.0', true ); $queried_object = get_queried_object(); $local = array( 'loopType' => 'home', 'queriedObject' => $queried_object, 'pathInfo' => array( 'author_permastruct' => $wp_rewrite->get_author_permastruct(), 'host' => preg_replace( '#^http(s)?://#i', '', untrailingslashit( get_option( 'home' ) ) ), 'path' => _s_backbone_get_request_path(), 'use_trailing_slashes' => $wp_rewrite->use_trailing_slashes, 'parameters' => _s_backbone_get_request_parameters(), ), ); if ( is_category() || is_tag() || is_tax() ) { $local['loopType'] = 'archive'; $local['taxonomy'] = get_taxonomy( $queried_object->taxonomy ); } elseif ( is_search() ) { $local['loopType'] = 'search'; $local['searchQuery'] = get_search_query(); } elseif ( is_author() ) { $local['loopType'] = 'author'; } //set the page we're on so that Backbone can load the proper state if ( is_paged() ) { $local['page'] = absint( get_query_var( 'paged' ) ) + 1; } wp_localize_script( '_s_backbone-loop', 'settings', $local ); } } add_action( 'wp_enqueue_scripts', '_s_backbone_scripts' ); 

Таким образом, идентификатор типа «_s_backbone-style» будет держать вас в безопасности, вы не дублируете скрипты.

Другие темы должны, но могут не использовать шаблоны. В худшем случае не будут использоваться даже самые важные wp_head и wp_footer hooks.

 add_action( 'wp_head', ... add_action( 'wp_footer', ... 

Если это так, многие плагины WordPress не будут работать.

Если я попытаюсь загрузить страницу через ajax, обнаружите, что у нее есть короткий код CF7, который загружает jquery.validate.js в wp_head во время загрузки страницы. Что произойдет, если я уже загрузил jquery.validate.js в моем базовом приложении (основное приложение темы) и теперь попытаюсь загрузить этот скрипт в качестве требования к форме CF7 для этой страницы?

В любом месте (и даже если вы работаете с Ajax) вы можете определить список скриптов, установленных в очереди

 global $wp_scripts; 

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

Примечание. Магистраль существует в WordPress в течение длительного времени (@since 3.5) и отлично работает с jQuery. Они дополняют друг друга.