Редактирование wp_head в теме WordPress
Мой WordPress добавляет в тег head много ненужных скриптов и CSS файлов. Я пытался исправить это, редактируя файл head.php
, но тема, которую я использую (zerif
), использует функцию wp_head
для подключения всех скриптов.
Я пытался понять, где можно отредактировать вывод этой функции и изучил документацию WordPress.
Там сказано, что каждая тема определяет это с помощью do_action("wp_head")
.
Я искал это в коде темы, но ничего не нашел. Как я могу это отредактировать?
Должен ли я жестко прописать всё без использования wp_head()
?

Вы можете удалить некоторые стандартные ссылки WordPress из раздела head
с помощью функции remove_action()
. Например:
// Удаляет ссылку на wlwmanifest
remove_action( 'wp_head', 'wlwmanifest_link' );
// Удаляет ссылку RSD
remove_action( 'wp_head', 'rsd_link' );
// Удаляет короткую ссылку WordPress
remove_action( 'wp_head', 'wp_shortlink_wp_head', 10, 0 );
// Удаляет канонические ссылки
remove_action( 'wp_head', 'rel_canonical' );
// Удаляет ссылки на дополнительные фиды, такие как фиды категорий
remove_action( 'wp_head', 'feed_links_extra', 3 );
// Удаляет ссылки на основные фиды: фиды записей и комментариев
remove_action( 'wp_head', 'feed_links', 2 );
// Удаляет ссылку на индекс
remove_action( 'wp_head', 'index_rel_link' );
// Удаляет ссылку "предыдущая"
remove_action( 'wp_head', 'parent_post_rel_link' );
// Удаляет ссылку "начало"
remove_action( 'wp_head', 'start_post_rel_link' );
// Удаляет реляционные ссылки для записей, смежных с текущей
remove_action( 'wp_head', 'adjacent_posts_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
// Удаляет информацию о версии WordPress, т.е. -
remove_action( 'wp_head', 'wp_generator' );
Чтобы отключить поддержку эмодзи (CSS и JavaScript):
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
Эти изменения необходимо внести в файл functions.php
вашей темы.
Чтобы отредактировать файлы, подключаемые вашей темой (например, zerif), вам также потребуется изменить файл functions.php
. Например, вы можете найти там что-то подобное:
wp_enqueue_style( 'style', get_stylesheet_uri() );
wp_enqueue_style( 'shortcodes', get_template_directory_uri() . '/css/shortcodes.css' );
wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/css/font-awesome.css' );
wp_enqueue_script( 'jquery' );
Если вы не найдёте этого в своём файле functions.php
, это может означать, что тема разделяет содержимое functions.php
на несколько файлов, обычно расположенных в специальной папке с названием inc
, include
или framework
. Это легко проверить: такие файлы должны подключаться в вашем functions.php
. Например:
locate_template( 'inc/widgets.php', true, true );
locate_template( 'inc/sidebars.php', true, true );
locate_template( 'inc/breadcrumbs.php', true, true );
locate_template( 'inc/whatever.php', true, true );
