-
Notifications
You must be signed in to change notification settings - Fork 0
Examples
sawfly edited this page Sep 13, 2019
·
2 revisions
Route: /wp-json/plugin-installer/v1/install
Code Sample:
$url = 'http://your-site.loc/wp-json/plugin-installer/v1/install';
$fileName = __DIR__ . '/your-custom-plugin-archive.zip';
$post = [
'fileToUpload' => curl_file_create($fileName)
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-type: multipart/form-data"]);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
Route: /wp-json/plugin-installer/v1/activate
Code Sample:
$url = 'http:/your-site.loc/wp-json/plugin-installer/v1/activate';
$post = [
'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php'
];
$headers = [
"Content-type: multipart/form-data",
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
Route: /wp-json/plugin-installer/v1/install-activate
Code Sample:
$url = 'http:/your-site.loc/wp-json/plugin-installer/v1/install-activate';
$post = [
'fileToUpload' => curl_file_create($fileName),
'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php',
];
$headers = [
"Content-type: multipart/form-data",
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
Route: /wp-json/plugin-installer/v1/deactivate
Code Sample:
$url = 'http:/your-site.loc/wp-json/plugin-installer/v1/deactivate';
$post = [
'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php',
];
$headers = [
"Content-type: multipart/form-data",
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
Route: /wp-json/plugin-installer/v1/uninstall
Code Sample:
$url = 'http:/your-site.loc/wp-json/plugin-installer/v1/uninstall';
$post = [
'pluginName' => 'plugin-root-directory/plugin-entrypoint-script.php',
];
$headers = [
"Content-type: multipart/form-data",
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC93cC50ZXN0IiwiaWF0IjoxNTY4Mzc0MTc1LCJuYmYiOjE1NjgzNzQxNzUsImV4cCI6MTU2ODk3ODk3NSwiZGF0YSI6eyJ1c2VyIjp7ImlkIjoiMSJ9fX0.WGe4w0I--Wu48ETtoILbbpiT1aM1XOHZqNmKcIjJovw', //JWT auth token
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
Note. For utilizing this plugin you must formely to get JWT-auth token with WordPress user credentials
user_can($userId,'manage_options');