让插件更新变得轻松:Version Pilot 的魅力
Version Pilot 是一个专为 WordPress 插件开发者设计的工具,它能在不依赖中央服务器的情况下,提供一个去中心化的更新解决方案。它的工作方式就像原生 WordPress 更新那样顺畅,让人感觉就像是自然而然的一部分。
在我的项目中,这个功能真的是大显身手。许多开发者为客户定制插件,每次需要发布新版本时,往往要打包文件发给客户,然后再让他们手动上传,这样不仅麻烦,还不好管理。而有了这个插件,开发者就可以像发布官方插件一样,给用户提供无缝的更新体验。
适用场景
插件开发者:为非官方插件提供专业的更新服务。
企业内部:管理私有插件的版本分发。
代理分销:为客户提供插件的更新服务。
测试环境:管理开发版本的分发和测试。
支持付费插件更新验证:为那些出售私有或付费插件的开发者引入了强大的身份验证机制。这项功能允许你在用户更新插件时,要求他们提供许可证密钥和/或用户 ID,确保只有授权的客户才能进行更新。系统设计得相当灵活,让你作为插件作者可以完全掌控验证流程。通过简单的 WordPress 过滤器,你可以与任何许可证系统对接,无论是自定义数据库表、第三方 API 还是 WordPress 的用户角色。
如何实现许可证密钥验证?
这个过程其实分为两个步骤:首先在你的付费插件中加入客户端代码来发送凭据,其次在你的 Version Pilot 服务器上实现服务器端代码来验证这些凭据。
第一步:客户端实现(在你的插件中)
在你的付费插件代码中,需要用到 `version_pilot_client_auth_credentials` 过滤器,把客户的许可证凭据传递给更新程序。
第二步:服务器端实现(在你的 Version Pilot 服务器上)
在安装了 Version Pilot Pro 的服务器上,添加代码来验证客户端发送的凭据。你可以用 `version_pilot_update_verify` 过滤器来处理这部分内容。这段代码可以放在你主题的 `functions.php` 文件或者自定义插件中。
prefix . 'my_licenses';
$license_record = $wpdb->get_row( $wpdb->prepare(
"SELECT status FROM {$license_table} WHERE license_key = %s AND plugin_slug = %s",
$auth_key,
$plugin_slug
) );
if ( $license_record && 'active' === $license_record->status ) {
return true; // 许可证有效且处于激活状态。
} else {
// 许可证无效、已过期或未找到。
return new WP_Error( 'invalid_license', '您的许可证密钥无效或已过期。' );
}
}, 10, 4 );







