如何通过REST API等方式动态获取所有WordPress版本?
无需定时抓取页面获取WordPress版本发布信息的方案
这里有几个可靠的替代方案,不用依赖定时任务抓取页面就能动态获取WordPress版本发布信息:
1. 调用官方版本检查API
WordPress官方提供了结构化的版本检查接口,返回JSON格式数据,完全不用解析杂乱的HTML页面。直接请求该接口就能拿到版本号、发布时间、更新日志等关键信息:
示例PHP实现:
// WordPress环境内推荐用wp_remote_get处理请求 $api_response = wp_remote_get('https://api.wordpress.org/core/version-check/1.7/'); if (!is_wp_error($api_response)) { $version_data = json_decode(wp_remote_retrieve_body($api_response), true); // 获取最新版本信息 $latest_version = $version_data['offers'][0]['version']; $release_details = $version_data['offers'][0]['response']; // 历史版本列表可从$version_data['updates']数组提取 } // 非WordPress环境用原生PHP请求 // $version_data = json_decode(file_get_contents('https://api.wordpress.org/core/version-check/1.7/'), true);
这个接口由WordPress官方维护,数据结构稳定,比页面抓取更可靠,也更高效。
2. 订阅官方版本发布RSS Feed
WordPress官方新闻频道会同步推送所有版本发布通知,你可以通过订阅其RSS Feed来获取更新:
- 用RSS解析工具(比如PHP的SimpleXML、SimplePie)按需拉取Feed内容,或者直接用RSS订阅工具接收推送通知。
- Feed里的每条内容都包含版本号、发布说明、发布时间等信息,结构清晰,解析成本极低。
3. WordPress环境内用内置函数
如果你的需求是在WordPress站点内部实现功能,直接用核心内置函数get_core_updates()即可,它会自动处理官方API请求并返回格式化后的更新数据:
$core_updates = get_core_updates(); if (!empty($core_updates)) { $latest_update = $core_updates[0]; echo "最新版本:{$latest_update->current}\n"; echo "发布时间:{$latest_update->response}\n"; }
这个函数省去了自己编写HTTP请求和JSON解析的代码,直接就能拿到可用的版本信息。
内容的提问来源于stack exchange,提问作者Luis Angel Perez
相关产品推荐
相关产品推荐

