log("my log message") to log things, which greatly helps debugging - UpdraftPlus is licenced under the GPLv3 or later. In order to combine your backup method with UpdraftPlus, you will need to licence to anyone and everyone that you distribute it to in a compatible way. */ class UpdraftPlus_BackupModule_template { // backup method: takes an array, and shovels them off to the cloud storage public function backup($backup_array) { global $updraftplus; foreach ($backup_array as $file) { // Do our uploading stuff... // If successful, then you must do this: // $updraftplus->uploaded_file($file); } } // delete method: takes an array of file names (base name) or a single string, and removes them from the cloud storage public function delete($files) { global $updraftplus; if (is_string($files)) $files = array($files); } // download method: takes a file name (base name), and brings it back from the cloud storage into Updraft's directory // You can register errors with $updraftplus->log("my error message", 'error') public function download($file) { global $updraftplus; } // config_print: prints out table rows for the configuration screen // Your rows need to have a class exactly matching your method (in this example, template), and also a class of updraftplusmethod // Note that logging is not available from this context; it will do nothing. public function config_print() { ?>