A wordpress plugin that implements an API framework for you to control and manage one or many WordPress sites from a central location. The intention is to offer the ability to create your own web interface to interact with all of your WordPress sites, allowing you to update core, update plugins, install plugins, deactivate plugins and many more actions. A web interface is the intended centralized platform however management systems like Ansible, Salt and Puppet can be used to interact with your WordPress sites.
This plugin opens up your entire wordpress site to be accessed as an external API service. The idea behind this plugin is for you to access multiple wordpress sites to manage and execute actions such as updating plugins and WordPress core as an API service. Anyone that has the API key will be able to execute these actions on your WordPress site.
A python script is available in the bin folder of this plugin to provide a simple example of how one could interact with this plugin in order to perform actions such as updating plugins or WP Core remotely with API calls, authenticated with the generated KEY of course.
Future versions of this plugins may interact with a web service hosted and managed by Shift8, however currently anyone can interact with this plugin using the example python script as a starting point.
API Action Commands
Find an overview of the API commands that can be executed through this plugin. You can execute these commands by creating your own web application to interface with this plugin, or create a quick python script (like the example script provided here in the bin folder).
This will provide the current version of the plugin
This will provide the currently defined filesystem method used for modifying files in the WordPress installation
This will provide a list of supported filesystem methods currently available for the WordPress installation
This will return the currently running WordPress version
This will return any defined constants
This will initiate a WordPress core upgrade to the latest stable version
This will return a list of currently installed WordPress plugins
update_plugin / upgrade_plugin
This will initiate a plugin update with the plugin to update specified as an additional argument
validate_plugin / install_plugin / activate_plugin / deactivate_plugin / uninstall_plugin
This will validate / install / activate / deactivate or uninstall a plugin with the additional argument specified being the specific plugin to act on.
This will retun the currently installed themes
install_theme / activate_theme / update_theme / upgrade_theme / delete_theme
This will install / activate / update / upgrade or delete a specific theme with the additional argument given specifying which theme.
This will return the site url, home url, admin url, currently detected web host and site summary.
This will return the value of a specific administrative option with the additional argument given specifying which option value to return
update_option / delete_option
This will update or delete a specific value for an administrative option with the additional argument given specifying which option value to update
Want to see the plugin in action?
You can view three example sites where this plugin is live :
- Settings area to allow you to define the API key that authenticates and passes commands to the api
- Ability to list all plugins
- Ability to set wordpress options
- Ability to update all plugins
- Ability to update wordpress core
- Ability to install/deinstall/activate/deactivate plugins
This section describes how to install the plugin and get it working.
- Upload the plugin files to the
/wp-content/plugins/shift8-remotedirectory, or install the plugin through the WordPress plugins screen directly.
- Activate the plugin through the ‘Plugins’ screen in WordPress
- Navigate to the plugin settings page and define your settings
- I tested it on myself and its not working for me!
You should monitor the request log to see if it is able to hit the site. Also monitor the server logs of your WordPress site to identify if any problems (i.e. curl) are happening.
- What can I use to interact with this plugin to control my WordPress site?
- Do you provide a service to interact with this plugin that I can sign up for?
Currently, not at this time. This is currently being developed and will be announced via a plugin update. The idea is to give the power to the end user to connect and manage themselves.
- There are errors and I cannot connect!
Double check that your web host supports the latest version of PHP. Ideally you SHOULD be on PHP v7+. If you are lower than PHP 5.2 the plugin will deactivate itself.
There are no reviews for this plugin.
Contributors & Developers
“Shift8 Remote Management” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Stable version created
- Added new element for plugin file to be included in json array returned from plugin queries in order to properly update
- Added API function to return is_active boolean for better error checking
- WordPress 5 compatibility