Shift8 Remote Management

Description

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).

get_plugin_version

This will provide the current version of the plugin

get_filesystem_method

This will provide the currently defined filesystem method used for modifying files in the WordPress installation

get_supported_filesystem_methods

This will provide a list of supported filesystem methods currently available for the WordPress installation

get_wp_version

This will return the currently running WordPress version

get_constants

This will return any defined constants

upgrade_core

This will initiate a WordPress core upgrade to the latest stable version

get_plugins

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

Want to see the plugin in action?

Features

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

Screenshots

Admin area

Installation

This section describes how to install the plugin and get it working.

e.g.

Upload the plugin files to the /wp-content/plugins/shift8-remote directory, 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

FAQ

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?

Literally any programming language that is capable of making web requests. In the “bin” folder of this plugin is an example Python script that can be used to submit queries via the plugin. Future iterations of this plugin may include additional examples for PHP, Ruby and Javascript frameworks.

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.