umdigital/wordpress-github-updater

Provides simple method to distribute releases using github rather than wordpress plugin repo.

1.0.2 2024-09-23 20:26 UTC

This package is auto-updated.

Last update: 2025-06-23 22:01:48 UTC


README

GitHub release GitHub issues

Provides the ability to update a wordpress plugin using Github instead of wordpress.

Installation & Usage

Add composer package to your plugin

composer require umdigital/wordpress-github-updater

Update Plugin Header

Add the following to your plugins header

Update URI: https://github.com/GITHUB_ACCOUNT/GITHUB_REPO

Initialize the library

include 'vendor/umdigital/wordpress-github-updater/github-updater.php';

// Initialize Github Updater
new \Umich\GithubUpdater\Init([
    'repo' => 'its-cloudflare/umich-cloudflare',
    'slug' => plugin_basename( __FILE__ ),
]);

Create / Update your build process

For best support it is recommended to add a release workflow that will automatically package the plugin into a wordpress compatible zip file. The default github source archives cause irregular plugin folder naming during install and updates. There are some options of workflows in the examples directory. These workflows will create a release when a tag is pushed to the repo. The one with composer in the name will also add composer dependencies to the package. This will create a release asset in the format of [REPO_NAME]-[TAG_NAME].zip.

Configuration

Initialization Options

Option Required Default Description
repo Yes Path to your github repo e.g. umdigital/wordpress-github-updater
slug Yes Plugin slug e.g. my-plugin/my-plugin.php, can use plugin_basename( __FILE__ )
config No wordpress.json See below for options
changelog No CHANGELOG Provide Changelog information in the plugin info admin panel
description No README.md Provide plugin information in the plugin info admin panel
cache_timeout No 21600 (6 hours) How long to cache github plugin data

Config File (wordpress.json) Options

Option Required Description
requires No Minimum Wordpress Version
tested No Maximum Wordpress Version Tested
requires_php No Minimum PHP Version required
banners:low No Plugin info banner image (750 x 250)
banners:high No Plugin info banner image (1500 x 500)