This plugin helps you to self-host your WordPress plugins on your own site. It even uses an extend/plugins/ structure
When I first went to host my plugins on my own site, I was surprised that there wasn't anything out there to help me with the tricky job of deploying updates. WordPress has updating built into it, but it's not easy to apply that to plugins hosted on your own site.
Until now...
Using this plugin, you can maintain a repository of your self-hosted plugins on your own site. It makes use of the confusing web of WordPress hooks that are necessary to allow remote sites to look for and install updates from your own server. This plugin will keep track of the number of downloads for you. Ratings are not currently supported, but I hope to add that into a later version.
I think this could be a really interesting project that I could see quickly growing beyond what I'd be able to handle personally. Is anyone interested in getting involved? Let's start a conversation in the forum.
It includes shortcodes to allow you to display your plugin information, in the familiar plugin-details layout, right in your own site.
The download link includes hooks to allow you to program authentication (if you want to charge for your plugin)
Important Plugins stored in your repository will be altered to allow the update process to function:
For more information, see the FAQ section.
This plugin adds rewrite rules making it so that it appears your plugin is stored in an extend/plugins directory from your site, mimicking wordpress.org. So, The details page for the latest version of your plugin is always at http://mysite.com/extend/plugins/my-plugin. No pages or posts are added to make this possible - the page is generated (i.e. spoofed) dynamically when an extend/plugins call comes in.
If your default template isn't a full-width template, you might consider making use of the filter template_include in the following manner
add_filter('template_include','my_template_redirect');
function my_template_redirect($template){
if (defined('SHP_SPOOFED_PLUGIN_PAGE')){ // Only set if we've spoofed a page.
$template = get_bloginfo('template_url').'/template-my-template.php';
}
return $template;
}
If you want to disable this feature, add the following filter:
add_filter('shp_enable_redirect',create_function('$a','return false;'));