从 WordPress v5.8 开始,自己创建自定义插件更新功能的基本版本就简单多了。
在您的服务器上创建 JSON 文件。 它将包含有关您的插件的最新版本号的信息以及指向 WordPress 的 ZIP 文件的链接,以便在触发更新时自动下载它。
示例位置:https://my-domain.com/custom-plugins/plugins-info.json
示例内容:
{ "my-plugin/my-plugin.php":{ "version":"1.1", "package":"https://my-domain.com/custom-plugins/my-plugin.zip" } }
您可以向该 JSON 添加多个插件信息。 只需确保每个插件密钥都在 目录名/文件名.php 格式。
当然,只有当 JSON 中的插件版本大于您安装的版本时,Wordpress 才会显示有新版本可用。
对于您可以在 JSON 文件中设置的插件数据的完整列表,请在此处检查 $update 参数
将“更新 URI”添加到插件的主文件(评论部分)。 它应该链接到您在第 1 步中创建的自定义 JSON 文件。
<?php /** * Plugin Name: My plugin * Version: 1.0 * Update URI: https://my-domain.com/custom-plugins/plugins-info.json * */
将此代码添加到自定义插件的主文件(或添加到 functions.php)
重要的: 将 add_filter 函数中的“my-domain.com”更改为您用于 JSON 文件的实际域。
if( ! function_exists( 'my_plugin_check_for_updates' ) ){ function my_plugin_check_for_updates( $update, $plugin_data, $plugin_file ){ static $response = false; if( empty( $plugin_data['UpdateURI'] ) || ! empty( $update ) ) return $update; if( $response === false ) $response = wp_remote_get( $plugin_data['UpdateURI'] ); if( empty( $response['body'] ) ) return $update; $custom_plugins_data = json_decode( $response['body'], true ); if( ! empty( $custom_plugins_data[ $plugin_file ] ) ) return $custom_plugins_data[ $plugin_file ]; else return $update; } add_filter('update_plugins_my-domain.com', 'my_plugin_check_for_updates', 10, 3); }
原文链接:https://www.wordpresshy.com/317759
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END