WP Manifestindependent plugin directory
manifest / updates / update-blocker

Update Blocker

Lightweight generic blocker of updates from official WordPress repositories

★ 56stars
26kcomposer installs
1.1latest · 10 years ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/rarst/update-blocker/archive/refs/heads/master.zip

On Packagist as rarst/update-blocker:

composer require rarst/update-blocker
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Update Blocker — for WP repositories

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

Releases

1 release.

Tag
Published
1.1 latest
Sep 3, 2016 10 years ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.