rarst/update-blocker

Lightweight generic blocker of updates from official WordPress repositories

Installs: 19 109

Dependents: 3

Suggesters: 1

Security: 0

Stars: 53

Watchers: 9

Forks: 2

Open Issues: 0

Type:wordpress-plugin

1.1 2016-09-03 18:23 UTC

This package is auto-updated.

Last update: 2024-12-20 07:27:07 UTC


README

Update Blocker is a lightweight generic blocker of plugin, theme, and core updates from official WordPress repositories.

It was created as shared reusable plugin for the sake of no longer reinventing that particular wheel.

Goals

  • single main file
  • mu-plugins–friendly
  • no hard dependencies

Not goals

  • interface
  • elaborate API
  • as–library use
  • unreasonable compat

Installation

Plugin

  1. Download ZIP.
  2. Unpack files from inside into wp-content/plugins/update-blocker.

MU-plugin

  1. Download update-blocker.php.
  2. Place into wp-content/mu-plugins.
  3. Edit settings for blocks in the file.

Composer

Create project in the wp-content/plugins:

composer create-project rarst/update-blocker:~1.0

Or require in composer.json of site project:

{
	"require": {
		"rarst/update-blocker": "~1.0"
	}
}

Requiring on plugin/theme level is not implemented, use suggest:

{
	"suggest": {
		"rarst/update-blocker": "Prevents invalid updates from official repositories"
	}
}

Configuration

Plugin's settings have following structure:

array(
	'all'     => false,
	'files'   => array( '.git', '.svn', '.hg' ),
	'plugins' => array( 'update-blocker/update-blocker.php' ),
	'themes'  => array(),
	'core'    => false,
)
  • all — boolean, disables updates completely
  • files — array of plugin/theme root–relative files to detect for block
  • plugins — array of plugin base names (folder-name/plugin-name.php) to block
  • themes — array of theme slugs (theme-name) to block
  • core — boolean, disables core updates

Settings pass through update_blocker_blocked filter.

Processed data passes through update_blocker_plugins and update_blocker_themes filters during update checks.

Plugin opt–in

add_filter( 'update_blocker_blocked', function( $blocked ) {
	$blocked['plugins'][] = plugin_basename( __FILE__ ); // or just folder-name/plugin-name.php string
	return $blocked;
} );

Theme opt–in

add_filter( 'update_blocker_blocked', function( $blocked ) {
	$blocked['themes'][] = 'theme-name';
	return $blocked;
} );

Core opt–in

add_filter( 'update_blocker_blocked', function ( $blocked ) {
	$blocked['core'] = true;
	return $blocked;
} );

License

  • MIT