Главная > PHP > WordPress: разгоняем админку

WordPress: разгоняем админку

Разгоняем вордпресс Знаете ли вы, что каждый раз при загрузке админки ваш блог проверяет наличие новых версий плагинов, шаблонов и версий движка? К тому же, планируются задачи по проверке версий на будущее. Откровенно говоря, я даже не вникал в детали как это делается, мне было достаточно того, что я увидел, что именно делается. Это все равно, что при вызове лифта запускать ядерный реактор для обеспечения этого лифта электричеством. Не проще ли подняться по лестнице?

В принципе, я против плагинов. Поэтому весь код просто вставляем в файл functions.php в папке с вашим шаблоном. Если файла нет, то создаем его. Вставляем такой код:

// KILL UPDATES
remove_action( 'wp_version_check', 'wp_version_check' );
remove_action( 'admin_init', '_maybe_update_core' );
add_filter( 'pre_transient_update_core', create_function( '$a', "return null;"));
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;"));
wp_clear_scheduled_hook( 'wp_version_check' );
 
remove_action( 'load-plugins.php', 'wp_update_plugins' );
remove_action( 'load-update.php', 'wp_update_plugins' );
remove_action( 'load-update-core.php', 'wp_update_plugins' );
remove_action( 'admin_init', '_maybe_update_plugins' );
remove_action( 'wp_update_plugins', 'wp_update_plugins' );
add_filter( 'pre_transient_update_plugins', create_function( '$a', "return null;" ) );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_plugins' );
 
remove_action( 'load-themes.php', 'wp_update_themes' );
remove_action( 'load-update.php', 'wp_update_themes' );
remove_action( 'load-update-core.php', 'wp_update_themes' );
remove_action( 'admin_init', '_maybe_update_themes' );
remove_action( 'wp_update_themes', 'wp_update_themes' );	
add_filter( 'pre_transient_update_themes', create_function( '$a', "return null;" ) );
add_filter( 'pre_site_transient_update_themes', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_themes' );
// End of KILL UPDATES

Данный код поставит заглушки на все проверки обновлений (плагинов, шаблонов, самого движка) и работает (тестировался) в версии WordPress 3.0. Также будут убраны запланированные проверки.

Когда я добавил этот код у себя, админка стала просто летать. Если раньше нужно было ждать загрузки страницы 2-3 секунды, то теперь все показывается практически моментально. Даже трудно поверить, что это админка WP блога.

Если нужно проверить обновления, то можно просто закомментировать весь этот код, запустить обновления, а затем снова раскомментировать его. Это можно делать раз в месяц или даже реже.

Сегодняшняя мысль: WordPress - очень корявый движок с технической точки зрения.

PHP

  1. 26 Июль 2010 в 15:16 | #1

    Очень полезно. Возьму на заметку :) Также против плагинов, так как они загружают блог очень сильно. Но как же без них? Многие плагины просто жизненно необходимы для блога.

  2. 26 Июль 2010 в 16:38 | #2

    Массивные куски кода, которые имеют свой "мозг" и логику должны быть оформленые отдельно. То есть, это как раз и будут плагины (например, плагин All in One SEO). А такие вот небольшие куски кода, как в моем посте, уж никак нельзя назвать плагином. Это просто маленькие корректировки того, как работает вордпресс. Они по сути не добавляют ничего нового.

  3. 26 Июль 2010 в 22:37 | #3

    Обновил код. Несколько новых строчек, и теперь все собрано по частям: движок, плагины, шаблоны.

Выберите все фотки с котэ