Было ли что-нибудь, мешающее мне удалять оба wp_head и wp_footer?

Некоторые плагины полагаются либо на wp_head, либо на wp_footer, либо на оба, чтобы представить свои собственные таблицы стилей и JavaScript. Эти сценарии требуют времени для загрузки и замедления моего веб-сайта. Поэтому я хотел бы вручную управлять всеми сценариями на моем сайте.

Я думаю об удалении wp_head () и wp_footer () полностью.

Не упадет ли небо, если я это сделаю?

Я прочитал это .

Не удаляйте wp_head() или wp_footer() поскольку они необходимы для запуска других крючков. Вместо этого условно удалите сценарии / таблицы стилей на основе типа страницы, идентификатора страницы, шаблона страницы, категории публикации и т. Д.

Я полагаю, вам в основном нужно беспокоиться об этом на главной странице сайта, так как все ваши CSS сайта и основной JavaScript будут загружены на эту страницу и кэшированы для остальной части сайта (да?), И как только люди скачали все на передней панели страницы и кэшировать различные активы, любые gzipped-скрипты и таблицы стилей должны быть довольно быстрыми, чтобы загружать любую страницу.

Вот разворот с сайта, который я делал в прошлом году, где я выбил кучу скриптов и CSS только с первой страницы.

 // actions to remove unnecessary scripts and styles add_action('wp_print_scripts', 'wpse_84052_removeScripts', 100); add_action('wp_print_styles', 'wpse_84052_removeStyles'); /** * performance: remove some scripts we don't need on splash page */ function wpse_84052_removeScripts() { if (is_front_page()) { // events manager wp_dequeue_script('events-manager'); wp_dequeue_script('events-manager-pro'); wpse_84052_removeObjectFilters('wp_head', 'EM_Pro'); wpse_84052_removeObjectFilters('wp_head', 'EM_Coupons'); // NextGEN Gallery wp_dequeue_script('ngg-slideshow'); wp_dequeue_script('shutter'); } } /** * performance: remove some stylesheets we don't need on splash page */ function wpse_84052_removeStyles() { if (is_front_page()) { // WP Flexible Map plugin styles wp_dequeue_style('flxmap'); // NextGEN Gallery plugin styles wp_dequeue_style('NextGEN'); wp_dequeue_style('shutter'); // Events Manager plugin styles wp_dequeue_style('events-manager'); // wp-category-posts-list plugin styles wp_dequeue_style('wp_cpl_css_3'); wp_dequeue_style('wp_cpl_css_2'); wp_dequeue_style('wp_cpl_css_1'); wp_dequeue_style('wp_cpl_css_0'); wp_dequeue_style('wp-cpl-base-css'); } } /** * remove filters that are methods of an object of some class * @param string $filterName name of action or filter hook * @param string $className name of class for object method */ function wpse_84052_removeObjectFilters($filterName, $className) { global $wp_filter; // must take a variable to iterate over array of filters, // else a subtle reference bug messes up the original array! $filters = $wp_filter[$filterName]; foreach ($filters as $priority => $hooks) { foreach ($hooks as $idx => $filter) { // check for function being a method on a $className object if (is_array($filter['function']) && (is_a($filter['function'][0], $className) || $filter['function'][0] === $className)) { remove_filter($filterName, $idx, $priority); break; } } } } - // actions to remove unnecessary scripts and styles add_action('wp_print_scripts', 'wpse_84052_removeScripts', 100); add_action('wp_print_styles', 'wpse_84052_removeStyles'); /** * performance: remove some scripts we don't need on splash page */ function wpse_84052_removeScripts() { if (is_front_page()) { // events manager wp_dequeue_script('events-manager'); wp_dequeue_script('events-manager-pro'); wpse_84052_removeObjectFilters('wp_head', 'EM_Pro'); wpse_84052_removeObjectFilters('wp_head', 'EM_Coupons'); // NextGEN Gallery wp_dequeue_script('ngg-slideshow'); wp_dequeue_script('shutter'); } } /** * performance: remove some stylesheets we don't need on splash page */ function wpse_84052_removeStyles() { if (is_front_page()) { // WP Flexible Map plugin styles wp_dequeue_style('flxmap'); // NextGEN Gallery plugin styles wp_dequeue_style('NextGEN'); wp_dequeue_style('shutter'); // Events Manager plugin styles wp_dequeue_style('events-manager'); // wp-category-posts-list plugin styles wp_dequeue_style('wp_cpl_css_3'); wp_dequeue_style('wp_cpl_css_2'); wp_dequeue_style('wp_cpl_css_1'); wp_dequeue_style('wp_cpl_css_0'); wp_dequeue_style('wp-cpl-base-css'); } } /** * remove filters that are methods of an object of some class * @param string $filterName name of action or filter hook * @param string $className name of class for object method */ function wpse_84052_removeObjectFilters($filterName, $className) { global $wp_filter; // must take a variable to iterate over array of filters, // else a subtle reference bug messes up the original array! $filters = $wp_filter[$filterName]; foreach ($filters as $priority => $hooks) { foreach ($hooks as $idx => $filter) { // check for function being a method on a $className object if (is_array($filter['function']) && (is_a($filter['function'][0], $className) || $filter['function'][0] === $className)) { remove_filter($filterName, $idx, $priority); break; } } } }