Main Docs Page: AutoHosted Docs

1. Install Auto Hosted Plugin

I’m sure you already familiar in how to install WordPress plugin. Just download the plugin, install, and activate the plugin just like regular WordPress plugin.

2. Using Auto Hosted Plugin

After activation you will see two new administration menu in your admin panel. Click and go to Repo | Plugin to add your first plugin to your self-hosted plugin repository.

In Repo | Plugin edit screen you will see several meta boxes.

Updater Config Meta Box

plugin-updater-config-metaboxThis meta box is un-editable. Both repo_uri and repo_slug is needed data to use in your plugin when you integrate automatic updater.


When you first create plugin repo entry, repo_slug this will be blank, because WordPress has not generate a slug for this repository item. You can add or edit repo slug using Slug Meta Box. As default, Slug meta box is hidden and you can display the meta box using screen option.


In this meta box you can see a the URL of your site home url as your repo_uri. This is needed for your plugin to know where to pull latest update. Both repo_uri and repo_slug is needed data to identify and get latest updates data.

Plugin Update Data Meta Box

plugin-update-data-metaboxThis meta box is the most important part. In this meta box you can set and input various update data.

Version *required

In this field you can input your latest version number of your plugin. When the plugin make a http call to your repository, Auto Hosted plugin will compare the version number and only provide update data if new version available. Example input: “0.1.3”

Release Date

You can input your plugin latest version release date with format YYYY-MM-DD. For example your plugin release is January 25th, 2013 you need to input it with “2013-01-25“. The data will show in human readable format in update detail pop up. Update detail pop up is when we click Update Detail link in admin panel when new version of plugin available.

WP Required

This is for the minimum required version of WordPress needed for your plugin latest version. Sometimes your plugin users still use outdated version of WordPress (whatever the reason), and you use WordPress function only available in latest release of WP. This will not prevent users to install/do the update process, but at least users of your plugin will get notice. Example input: “3.4.0”

WP Tested

This field is where you input WordPress version tested your latest plugin version. If the version match with the current version of WordPress install, user will get message notice “Compatibility with WordPress 3.5.1: 100% (according to its author)” or similar. Example input: “3.5.1“.

Plugin ZIP *required

In this field you can upload the latest version of your plugin or provide full accessible URL to your plugin ZIP file. Example input: ““.


This is where you add version changelog of your plugin, your plugin user can read this changelog in update detail pop-up, and this will be the first tab active. This input maybe more suitable to be added in Plugin Sections Meta Box, but i added in Plugin Update Data Meta Box because we may need to update this input alot, and the other section (tab) in update detail pop-up rarely need an update.

Plugin Sections Meta Box

This meta box input is where you can add various information about your plugin. This will visible in update detail meta box as tab. If left empty, the tab will not be created. There’s 4 sections you can use to add information about your plugin.

  1. Description
  2. FAQ
  3. Screenshot
  4. Other Notes

Restrict Update Meta Box

In this meta box you can set various restriction method for your plugin update process.

Disable Update

If this check box selected, the automatic update will be completely disable for this plugin.

Activation Keys

You can input one or several (separate by line) Activation keys for your plugin updates. If you input activation key(s), in your plugin you need to provide a way for users to input activation keys. You can add it in your plugin settings page or use Auto hosted updater class and enable admin dashboard meta box activation key input.

Example input:

  1. 123
  2. hdakjkjdaihf
  3. thispluginisawesome

Users email as key

In this field there’s a multiple check box where you can select multiple role available in your site where you install Auto Hosted plugin. Users registered in selected role in your site can use their email and username as activation keys.

Domains White list

In this field you can add white list domain or domains (separate by line). Plugin installed in this domains will not be checked for activation keys, and automatic update will be provided. You need to add sub-domain separately.

Example valid input:


Domains Restrict

If you input this field, the update will only available for this domains. Other domains where your plugin installed not listed here cannot use automatic update feature. This feature is useful if you create a custom plugin for your client, maybe a functionality plugin for your client custom site.

Example valid input:


Taxonomies Meta Box

There’s two taxonomy attached to “Repo | Plugin” post type. Plugin Repo Categories and Plugin Repo Tags this two taxonomies is for better managing your repository.


Repo | Plugin post type is a hierarchical post type, so you can set a plugin as a child/parent of other plugin. Useful of managing the plugin when you create add-on plugin.

3. Repo | Plugin Column

If you visit All Plugin Repo page, you will see several additional information.


The url with home icon below the page title

This is your site home url, you need this as “repo_uri” in your plugin.

Info Column

This column has various information about the plugin.

  1. Latest version number
  2. Link to download zip file.
  3. Status of plugin repo
    available if all required input correctly set
    incomplete if one or more required input is left blank
    and disable if you select to disable the update.
  4. Slug of plugin repo entry. You need this as “repo_slug” in your plugin.
  5. Several icon to to quickly browse Restrict Update feature used in plugin entry.