Сразу после установки темы я вставляю этот код в файл functions.php.
Основная задача — ускорить загрузку админ-панели WordPress.
При каждом входе администраторской панели WordPress по умолчанию:
- проверяет обновления ядра
- проверяет обновления плагинов
- проверяет обновления тем
И ждёт ответов от серверов обновлений. Именно это вызывает подвисания, если сайт давно не открывался через админку.
Добавленный код отключает принудительные проверки обновлений, но:
- фоновые авто-проверки через Cron сохраняются
- ручная проверка остаётся доступной на странице Консоль → Обновления
Также удаляется логотип WordPress из админ-бара для более аккуратного интерфейса.
Код для вставки в functions.php
php<?php /** * Disable forced checking for new WP, plugins, and theme versions in the admin panel, * so that it doesn't slow down when you haven't visited for a long time and then visit... * All checks will happen unnoticed through cron or when you visit the "Dashboard > Updates" page. * * @see https://wp-kama.ru/filecode/wp-includes/update.php * @author Kama (https://wp-kama.ru) * @version 1.1 */ if( is_admin() ){ // disable update checks when entering the admin panel... remove_action( 'admin_init', '_maybe_update_core' ); remove_action( 'admin_init', '_maybe_update_plugins' ); remove_action( 'admin_init', '_maybe_update_themes' ); // disable update checks when entering a special page in the admin panel... remove_action( 'load-plugins.php', 'wp_update_plugins' ); remove_action( 'load-themes.php', 'wp_update_themes' ); // leave forced checking when entering the updates page... //remove_action( 'load-update-core.php', 'wp_update_plugins' ); //remove_action( 'load-update-core.php', 'wp_update_themes' ); // leave forced checking when entering the "Update/Install Plugin" or "Update/Install Theme" page - it doesn't interfere... //remove_action( 'load-update.php', 'wp_update_plugins' ); //remove_action( 'load-update.php', 'wp_update_themes' ); // don't touch the cron event, it will be used to check for updates - everything is fine here! //remove_action( 'wp_version_check', 'wp_version_check' ); //remove_action( 'wp_update_plugins', 'wp_update_plugins' ); //remove_action( 'wp_update_themes', 'wp_update_themes' ); /** * Disable the need to update the browser in the console - we always use top browsers! * this check happens once a week... * @see https://wp-kama.ru/function/wp_check_browser_version */ add_filter( 'pre_site_transient_browser_' . md5( $_SERVER['HTTP_USER_AGENT'] ?? '' ), '__return_empty_array' ); // phpcs:ignore WordPress.Security } /** * Remove WordPress logo from admin bar */ function seomix_remove_admin_bar_wp_logo() { global $wp_admin_bar; $wp_admin_bar->remove_menu('wp-logo'); } add_action('wp_before_admin_bar_render', 'seomix_remove_admin_bar_wp_logo', 0);
Пояснение ко всем закомментированным строкам
Эти строки оставлены в коде специально — они позволяют гибко управлять обновлениями WordPress. При необходимости их можно раскомментировать и изменить поведение системы проверки обновлений.
php//remove_action( 'load-update-core.php', 'wp_update_plugins' ); //remove_action( 'load-update-core.php', 'wp_update_themes' );
Если раскомментировать — отключается принудительная проверка обновлений на странице «Консоль → Обновления». Проверка будет происходить только в фоновом режиме через Cron.
php//remove_action( 'load-update.php', 'wp_update_plugins' ); //remove_action( 'load-update.php', 'wp_update_themes' );
Если раскомментировать — WordPress перестанет проверять обновления на страницах установки и обновления плагинов и тем. Этот вариант обычно не нужен, поскольку такие проверки не создают нагрузки.
php//remove_action( 'wp_version_check', 'wp_version_check' ); //remove_action( 'wp_update_plugins', 'wp_update_plugins' ); //remove_action( 'wp_update_themes', 'wp_update_themes' );
Если раскомментировать — полностью отключаются фоновые проверки обновлений, включая Cron. Обновления ядра, тем и плагинов перестанут поступать — это создаёт риск безопасности.
Результат применения
| Преимущество | Значение |
|---|---|
| Более быстрый вход в админ-панель | Нет задержек ожидания обновлений |
| Снижение нагрузки на сервер | Меньше внешних запросов |
| Обновления продолжают работать | Cron + ручная проверка |
| Аккуратный интерфейс | Убран WordPress-логотип |