I'm working on a project for a client that involves building 27 unique websites that are built on wordpress. I say unique, because (for reasons that are not worth going into here) they aren't and can't be installed in a multi-site environment. Each of these sites will have the same theme installed and one or two custom plugins as well. I can't use the WordPress theme directory, because the theme is specifically built for my client and won't work for just any application (the same goes for the plugins). So this brings me to my question...


Is there any solution out there for hosting and automatically updating private themes and plugins? And if the answer to that is no, are there suggestions as to how to begin building something like that?


2 Answers 2


Here is a full documentation for how to do this: Github updater - Documentation

Upload in wordpress

Download the latest tagged archive (choose the "zip" option).

Unzip the archive, rename the folder correctly to github-updater, then re-zip the file.

Go to the Plugins -> Add New screen and click the Upload tab.

Upload the zipped archive directly.

Go to the Plugins screen and click Activate.


This plugin was designed to simply update any GitHub hosted WordPress plugin or theme. Your plugin or theme must contain a header in the style.css header or in the plugin's header denoting the location on GitHub. The format is as follows.

GitHub Plugin URI: afragen/github-updater

GitHub Plugin URI: https://github.com/afragen/github-updater


GitHub Theme URI: afragen/test-child

GitHub Theme URI: https://github.com/afragen/test-child

...where the above URI leads to the owner/repository of your theme or plugin. The URI may be in the format https://github.com/<owner>/<repo> or the short format <owner>/<repo>. You do not need both. Only one Plugin or Theme URI is required. You must not include any extensions like .git.



There must be a GitHub Plugin URI, Bitbucket Plugin URI, or GitLab Plugin URI declaration in the plugin's header.

Plugin Name:       GitHub Updater
Plugin URI:        https://github.com/afragen/github-updater
Description:       A plugin to automatically update GitHub, Bitbucket or GitLab hosted plugins and themes. It also allows for remote installation of plugins or themes into WordPress.
Version:           1.0.0
Author:            Andy Fragen
License:           GNU General Public License v2
License URI:       http://www.gnu.org/licenses/gpl-2.0.html
Domain Path:       /languages
Text Domain:       github-updater
GitHub Plugin URI: https://github.com/afragen/github-updater
GitHub Branch:     master


There must be a GitHub Theme URI, Bitbucket Theme URI, or GitLab Theme URI declaration in the style.css file. When initially adding a theme, the directory must be identical to the repo name.

Theme Name:       Test
Theme URI:        http://thefragens.net/
Version:          0.1.0
Description:      Child theme of TwentyTwelve.
Author:           Andy Fragen
Template:         twentytwelve
Template Version: 1.0.0
GitHub Theme URI: https://github.com/afragen/test-child
GitHub Branch:    master

Hope this helps.

Please let me know


I would recommend plugin update checker for this. It supports both plugins and themed and it can be integrated with a private GitHub repository (and other Git providers too).

The library integrates with the default WordPress updates so you don’t need to use a separate user interface for updating the plugins/themes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.