开发者 | Rob Landry |
---|---|
更新时间 | 2012年9月24日 09:14 |
捐献地址: | 去捐款 |
PHP版本: | 3.3 及以上 |
WordPress版本: | 3.5 |
If this is the paid version: You must sign up for a sandbox account with PayPal. Enter your credentials in Sell My Plugin Settings. Then navigate to http://yourdomain.com/extend/plugins and select your plugin. If you have set a price on the plugin page, you must click on the purchase button.
If this is the paid version:
This is done automatically with a little setup from you. When uploading a plugin using Sell My Plugin, this is automatically added to the plugin file, and the update script is included in a folder plugin-updates/.
`
------------------------------------------------------------------------------
Check for Updates
Since: 1.0
Check for Updates on personal server
------------------------------------------------------------------------------
require_once('plugin-updates/class-plugin-updates.php');
$key=get_option('YOUR-PLUGIN-SLUG_key');
$update_link = "http://YOUR.DOMAIN.COM/extend/plugins/YOUR-PLUGIN-SLUG/update/?transaction=$key";
$update = new plugin_check_for_updates(
$update_link,
FILE, $slug
);
End Check for Updates `
As you can see, there is a transaction id required for updates. This only applies to paid plugins. You will also need to capture the transaction id. The user will need to navigate back to their plugin settings page, and paste ?transaction=. You will have to provide a means of capturing this TID.
if (isset($_GET['transaction'])) update_option('YOUR-PLUGIN-SLUG_key', $_GET['transaction']);
Yes and no. You do not need to capture a transaction id if there is no purchase. You do need to however include the update check and file which is automatically added.
I have run into this issue a few times, however the fix is easy. When the plugin is first installed, a secret folder name is created, and the name saved to your database. This way, the plugin knows where the zips are located. When the options are somehow deleted, the files are still in tact as well as the databases. If this issue becomes a hot topic, I can create a means of doing it from within the plugin, but for now here is the fix. Using your favorite ftp program or cpanel, navigate to the wp-content/uploads/ folder. Look for the 2 folders with random characters. Browse each of them and find which is empty. Copy the folder name. Delete the folder. Change the name of the folder with the zips to the name that was copied. Tada! Problem solved.
This is done to prevent hot linking to the plugin zips. For instance. A user knows where the files are located by knowing the folder name. All they would have to do is type in the location of the zip in the address bar, and the download would start. This is why the folder name is hashed to a random name so that the possibility of stumbling onto the plugin is less likely.