Как отключить обновление темы WordPress, ядра, плагинов и навигации

Отключение проверок и уведомлений обновлений ядра WordPress, тем, плагинов и обновление навигации может стать особо актуально, если сайт делался для клиента. Если нужно запретить обновления WordPress или темы, потому что вы внесли в родительской теме изменения (дочерняя не всегда корректно работает для мультиязычных сайтов). Чуть позднее выйдет новая версия темы и клиент установил её. Когда он обнаружит, что что-то сломалось, он напишет вам. А потом снова обновится.
Запрет обновления темы и отключение уведомлений о выходе новых версий темы:
if ( ! defined( 'WP_DEBUG' ) || ! WP_DEBUG ) {

// Disable theme update [iFortress added]
remove_action('load-update-core.php','wp_update_themes'); 
add_filter('pre_site_transient_update_themes',create_function('$a', "return null;")); 
wp_clear_scheduled_hook('wp_update_themes');

// Disable theme update notification [iFortress added]
function disable_theme_update_notification( $value ) {
return null;
}
add_filter( 'site_transient_update_themes', 'disable_theme_update_notification' );
}
Здесь приведен более общий код, а ниже отдельные фрагменты в зависимости от версии Вордпресс.
disable-updates.php
<?php
// Don’t disable on dev
if ( ! defined( ‘WP_DEBUG’ ) || ! WP_DEBUG ) {
// Disable core update checking
add_filter( ‘pre_site_transient_update_core’, create_function( ‘$a’, «return null;» ) );
remove_action( ‘admin_init’, ‘_maybe_update_core’ );
remove_action( ‘wp_version_check’, ‘wp_version_check’ );
// Remove the updates menu item
function yell_remove_update_menu() {
remove_submenu_page( ‘index.php’, ‘update-core.php’ );
}
add_filter( ‘admin_menu’, ‘yell_remove_update_menu’ );
// Disable plugin update checking
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_site_transient_update_plugins’, create_function( ‘$a’, «return null;» ) );
// Disable theme update checking
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_site_transient_update_themes’, create_function( ‘$a’, «return null;» ) );
}

 

remove_action('load-update-core.php','wp_update_themes');
add_filter('pre_site_transient_update_themes',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_update_themes');

 

Отключение уведомлений об обновлении темы

Есть два решения.
Одно, чтобы отключить уведомления об обновлениях всех тем. Если вы работаете над несколькими темами одновременно, это может быть тот, который вы ищете. Вставьте его под functions.php материнской теме:
/**
 * Disable theme update notification
 */
function disable_theme_update_notification( $value ) {
    return null;
}
add_filter( 'site_transient_update_themes', 'disable_theme_update_notification' );

Второе: отключение уведомлений об обновлениях одной конкретной темы. Замените в квадратных скобках части с именем вашей темы, и просто вставьте его в конце файла functions.php материнской темы:
/**
 * Disable [this theme] update notification
 */

function disable_theme_update_notification( $value ) {
    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response['this theme'] );
    }
    return $value;
}
add_filter( 'site_transient_update_themes', 'disable_theme_update_notification' );

 

Статья по теме:  Черная пятница: идеальная SEO-тема со скидкой 30%

В зависимости от вашей версии WordPress выбираем нужный код ниже и вставляем его в functions.php.

Запрет обновления тем

Для версий WordPress от 2.8 до 3.0:

remove_action('load-themes.php', 'wp_update_themes');
remove_action('load-update.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;"));
wp_clear_scheduled_hook('wp_update_themes');

от 3.0:

remove_action('load-update-core.php','wp_update_themes');
add_filter('pre_site_transient_update_themes',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_update_themes');

Запрет обновления плагинов

Для WordPress от 2.8 до 3.0:

remove_action('load-plugins.php', 'wp_update_plugins');
remove_action('load-update.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;"));
wp_clear_scheduled_hook( 'wp_update_plugins' );

от 3.0:

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
wp_clear_scheduled_hook( 'wp_update_plugins' );

Отключение обновлений движка WordPress

Для версий от 2.3 до 2.7:

add_action('init',create_function('$a',"remove_action('init','wp_version_check');"), 2 );
add_filter('pre_option_update_core', create_function('$a',"return null;"));

от 2.8 до 3.0:

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;"));
wp_clear_scheduled_hook('wp_version_check');

от 3.0:

add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_version_check');

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: