afragen/git-updater-lite

A simple class to integrate with Git Updater for standalone plugin/theme updates.

Fund package maintenance!
afragen

2.1.0 2025-02-20 22:19 UTC

This package is auto-updated.

Last update: 2025-02-22 21:13:13 UTC


README

A simple standalone library to enable automatic updates to your git hosted WordPress plugins or themes.

Description

This is version 2.0.0 and contains a breaking change from 1.5.x.

This library was designed to be added to your git hosted plugin or theme to enable standalone updates.

You must have a publicly reachable site that will be used for dynamically retrieving the update API data.

  • Git Updater is required on a site where all of the release versions of your plugins and themes are installed.
  • All of your plugins/themes must be integrated with Git Updater.
  • You must be using Git Updater v12.9.0 or better.

Git Updater is capable of returning a REST endpoint containing the plugins_api() or themes_api() data for your plugin/theme. You will pass this endpoint during the integration.

The REST endpoint format is as follows.

  • plugins - https://my-site.com/wp-json/git-updater/v1/update-api/?slug=my-plugin
  • themes - https://my-site.com/wp-json/git-updater/v1/update-api/?slug=my-theme

Installation

Add via composer. composer require afragen/git-updater-lite:^2

  • Add the Update URI: <update server URI> header to your plugin or theme headers. Where <update server URI> is the domain to the update server, eg https://git-updater.com.

  • Add the following code to your plugin file or theme's functions.php file.

require_once __DIR__ . '/vendor/afragen/git-updater-lite/Lite.php';
( new \Fragen\Git_Updater\Lite( __FILE__ ) )->run();

An example integrated plugin is here, https://github.com/afragen/test-plugin-gu-lite

<?php
/**
 * Plugin Name: Test Plugin Git Updater Lite
 * Plugin URI: https://github.com/afragen/test-plugin-gu-lite/
 * Description: This plugin is used for testing functionality of Github updating of plugins.
 * Version: 0.2.0
 * Author: Andy Fragen
 * License: MIT
 * Requires WP: 6.6
 * Requires PHP: 8.0
 * Update URI: https://git-updater.com
 */

 /**
 * Exit if called directly.
 */
if ( ! defined( 'WPINC' ) ) {
	die;
}

require_once __DIR__ . '/vendor/afragen/git-updater-lite/Lite.php';
( new \Fragen\Git_Updater\Lite( __FILE__ ) )->run();

FWIW, I test by decreasing the version number locally to see an update.