定制服务
承接WordPress等系统建站仿站、二次开发、主题插件定制等
在线咨询
  • 请直接说明需求,勿问在否

联系我们
wordpress
wordpress

WordPress 关闭后台主题、插件、系统自动更新与提示

有时候会发现wordperss后台越来越卡,是什么原因呢?原因可能很多,但是一些更新的获取可能是其中之一。那么可以按需关系这些更新。

将以下代码加入主题的functions.php里(最后一个 ?> 之前):

class OS_Disable_WordPress_Updates {
 private $__pluginsFiles;
 private $__themeFiles;

/**
 * The OS_Disable_WordPress_Updates class constructor
 * initializing required stuff for the plugin
 *
 * PHP 5 Constructor
 *
 * @since 1.3
 * @author scripts@schloebe.de
 */
 function __construct() {
 $this->__pluginsFiles = array();
 $this->__themeFiles = array();
 
 add_action( 'admin_init', array(&$this, 'admin_init') );

if( !function_exists( 'get_plugins' ) ) require_once ABSPATH . 'wp-admin/includes/plugin.php';
 
 if( count( get_plugins() ) > 0 ) foreach( get_plugins() as $file => $pl ) $this->__pluginsFiles[$file] = $pl['Version'];
 if( count( wp_get_themes() ) > 0 ) foreach( wp_get_themes() as $theme ) $this->__themeFiles[$theme->get_stylesheet()] = $theme->get('Version');

/*
 * Disable Theme Updates
 * 2.8 to 3.0
 */
 add_filter( 'pre_transient_update_themes', array($this, 'last_checked_themes') );
 /*
 * 3.0
 */
 add_filter( 'pre_site_transient_update_themes', array($this, 'last_checked_themes') );


 /*
 * Disable Plugin Updates
 * 2.8 to 3.0
 */
 add_action( 'pre_transient_update_plugins', array(&$this, 'last_checked_plugins') );
 /*
 * 3.0
 */
 add_filter( 'pre_site_transient_update_plugins', array($this, 'last_checked_plugins') );


 /*
 * Disable Core Updates
 * 2.8 to 3.0
 */
 add_filter( 'pre_transient_update_core', array($this, 'last_checked_core') );
 /*
 * 3.0
 */
 add_filter( 'pre_site_transient_update_core', array($this, 'last_checked_core') );


 /*
 * Disable All Automatic Updates
 * 3.7+
 *
 * @author sLa NGjI's @ slangji.wordpress.com
 */
 add_filter( 'auto_update_translation', '__return_false' );
 add_filter( 'automatic_updater_disabled', '__return_true' );
 add_filter( 'allow_minor_auto_core_updates', '__return_false' );
 add_filter( 'allow_major_auto_core_updates', '__return_false' );
 add_filter( 'allow_dev_auto_core_updates', '__return_false' );
 add_filter( 'auto_update_core', '__return_false' );
 add_filter( 'wp_auto_update_core', '__return_false' );
 add_filter( 'auto_core_update_send_email', '__return_false' );
 add_filter( 'send_core_update_notification_email', '__return_false' );
 add_filter( 'auto_update_plugin', '__return_false' );
 add_filter( 'auto_update_theme', '__return_false' );
 add_filter( 'automatic_updates_send_debug_email', '__return_false' );
 add_filter( 'automatic_updates_is_vcs_checkout', '__return_true' );


 add_filter( 'automatic_updates_send_debug_email ', '__return_false', 1 );
 if( !defined( 'AUTOMATIC_UPDATER_DISABLED' ) ) define( 'AUTOMATIC_UPDATER_DISABLED', true );
 if( !defined( 'WP_AUTO_UPDATE_CORE') ) define( 'WP_AUTO_UPDATE_CORE', false );

add_filter( 'pre_http_request', array($this, 'block_request'), 10, 3 );
 }


 /**
 * The OS_Disable_WordPress_Updates class constructor
 * initializing required stuff for the plugin
 *
 * PHP 4 Compatible Constructor
 *
 * @since 1.3
 * @author scripts@schloebe.de
 */
 function OS_Disable_WordPress_Updates() {
 $this->__construct();
 }


 /**
 * Initialize and load the plugin stuff
 *
 * @since 1.3
 * @author scripts@schloebe.de
 */
 function admin_init() {
 if ( !function_exists("remove_action") ) return;
 
 
 /*
 * Hide maintenance and update nag
 */
 remove_action( 'admin_notices', 'update_nag', 3 );
 remove_action( 'network_admin_notices', 'update_nag', 3 );
 remove_action( 'admin_notices', 'maintenance_nag' );
 remove_action( 'network_admin_notices', 'maintenance_nag' );


/*
 * Disable Theme Updates
 * 2.8 to 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' );
 wp_clear_scheduled_hook( 'wp_update_themes' );


 /*
 * 3.0
 */
 remove_action( 'load-update-core.php', 'wp_update_themes' );
 wp_clear_scheduled_hook( 'wp_update_themes' );


 /*
 * Disable Plugin Updates
 * 2.8 to 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' );
 wp_clear_scheduled_hook( 'wp_update_plugins' );

/*
 * 3.0
 */
 remove_action( 'load-update-core.php', 'wp_update_plugins' );
 wp_clear_scheduled_hook( 'wp_update_plugins' );


 /*
 * Disable Core Updates
 * 2.8 to 3.0
 */
 add_action( 'init', create_function( '', 'remove_action( \'init\', \'wp_version_check\' );' ), 2 );
 add_filter( 'pre_option_update_core', '__return_null' );

remove_action( 'wp_version_check', 'wp_version_check' );
 remove_action( 'admin_init', '_maybe_update_core' );
 wp_clear_scheduled_hook( 'wp_version_check' );


 /*
 * 3.0
 */
 wp_clear_scheduled_hook( 'wp_version_check' );


 /*
 * 3.7+
 */
 remove_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' );
 remove_action( 'admin_init', 'wp_maybe_auto_update' );
 remove_action( 'admin_init', 'wp_auto_update_core' );
 wp_clear_scheduled_hook( 'wp_maybe_auto_update' );
 }


 /**
 * Check the outgoing request
 *
 * @since 1.4.4
 */
 public function block_request($pre, $args, $url) {
 /* Empty url */
 if( empty( $url ) ) {
 return $pre;
 }

/* Invalid host */
 if( !$host = parse_url($url, PHP_URL_HOST) ) {
 return $pre;
 }

$url_data = parse_url( $url );

/* block request */
 if( false !== stripos( $host, 'api.wordpress.org' ) && (false !== stripos( $url_data['path'], 'update-check' ) || false !== stripos( $url_data['path'], 'browse-happy' )) ) {
 return true;
 }

return $pre;
 }


 /**
 * Override core version check info
 *
 * @since 1.4.3
 */
 public function last_checked_core() {
 global $wp_version;
 
 return (object) array(
 'last_checked' => time(),
 'updates' => array(),
 'version_checked' => $wp_version
 );
 }

/**
 * Override themes version check info
 *
 * @since 1.4.3
 */
 public function last_checked_themes() {
 global $wp_version;

return (object) array(
 'last_checked' => time(),
 'updates' => array(),
 'version_checked' => $wp_version,
 'checked' => $this->__themeFiles
 );
 }

/**
 * Override plugins version check info
 *
 * @since 1.4.3
 */
 public function last_checked_plugins() {
 global $wp_version;

return (object) array(
 'last_checked' => time(),
 'updates' => array(),
 'version_checked' => $wp_version,
 'checked' => $this->__pluginsFiles
 );
 }
}

if ( class_exists('OS_Disable_WordPress_Updates') ) {
 $OS_Disable_WordPress_Updates = new OS_Disable_WordPress_Updates();
}

以上代码是一个插件里的代码,插件名称好像是 disabled wordpress updates 。但是,我们能不用插件就尽量不用插件!

仿36kr wordpress主题

0 条评论

 本站承接WordPress建站仿站开发定制、Shopify建站及主题修改、Magento建站、Opencart建站、APP开发与小程序开发,五年开发经验给你技术保障。