Где подходящее место для регистрации сценариев /enqueue & стили

Я использую WordPress 3.1.4. Я смущен тем, где (какой крючок) я использую:

  • для регистрации и /или регистрации
  • скрипты и стили
  • на передней и задней сторонах?

Вопросы:

  • Каковы правильные крючки для использования?
  • Все скрипты /стили регистрации /enqueue переднего конца в init?
  • Почему нет admin_print_styles-{xxx}?
41 голос | спросил JM at Work 30 J0000006Europe/Moscow 2011, 11:39:03

1 ответ


61

Почему регистрация и очередность имеют значение

  • он должен быть со временем - раньше, чем сценарий /стиль для вывода на страницу, иначе слишком поздно;

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

Три этапа процесса

  1. register - это объясняет детали WP о скрипте /стиле и позволяет сохранить эту информацию;

  2. enqueue - (часто объединяется с регистром в одном вызове wp_enqueue_*()) - это говорит WP, чтобы добавить скрипты /стиль в очередь, согласно к его настройкам (зависимости, загрузка заголовка /нижнего колонтитула).

  3. print - это происходит, когда WP обрабатывает очередь, пытается загрузить что-то конкретное для себя или , когда вы явно делаете это с помощью wp_print_*().

Внешняя структура функций и крючков

  • wp_head()

    • wp_head

      • (1) wp_enqueue_scripts()

        wp_enqueue_scripts «Это то, что вам нужно

      • (8) wp_print_styles()

      • (9) wp_print_head_scripts()

  • wp_footer()

    • wp_footer

      • (10) wp_print_footer_scripts()

Это намного глубже, но это просто и достаточно хорошо для важных моментов:

  • wp_enqueue_scripts является наиболее подходящим для регистрации и очередей сценариев и стилей на лицевой стороне , и это специально для этого;

  • init не имеет ничего общего с этим, он будет работать, но - предыдущая рекомендация Codex использовать только было некорректно ;

  • вы можете уйти с сценариями очередей (а не стилями) для нижнего колонтитула в любой момент перед вызовом wp_print_footer_scripts();

  • wp_print_* перехватчики НЕ подходят для регистрации /очереди , они являются точками в коде, когда вывод уже выполняется. Они подходят для вывода вручную /пользовательского сценария /стиля.

Как насчет администратора?

Ну, функциональность там еще сложнее, сложнее и вложено.

  • для стартеров просто используйте admin_enqueue_scripts hook (он получает $hook_suffix global для условного материала ) для всего, в большинстве случаев это будет хорошо,

  • , когда вам нужно что-то сложное - просмотрите admin-header.php и откопайте оттуда для соответствующих перехватов.

Как насчет входа?

Существует определенный крючок с именем login_enqueue_scripts.

ответил Rarst 30 J0000006Europe/Moscow 2011, 13:14:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132