如何从WordPress的wp-includes目录获取versions.php文件的修改时间
解决方案
错误原因
includes_url()返回的是供前端访问的HTTP/HTTPS格式URL,filemtime()仅支持读取服务器本地文件系统路径,无法识别URL参数,因此执行报错。- 相对路径的参照基准是当前执行PHP文件的存储位置,若代码写在不同层级的主题、插件目录中,相对路径会失效,无法定位到目标文件。
正确实现
WordPress内置了两个预定义常量可直接拼接出目标文件的绝对本地路径,不受代码存放位置影响:
ABSPATH:站点根目录的本地绝对路径WPINC:系统包含目录的名称,默认值为wp-includes
代码示例:
function getLatestUpdateDate() { $version_file_path = ABSPATH . WPINC . '/version.php'; // 预先判断文件是否存在,避免触发PHP警告 if (file_exists($version_file_path)) { $lastModifiedDate = date('Y-m-d', filemtime($version_file_path)); return new WP_REST_Response($lastModifiedDate, 200); } return new WP_REST_Response('无法读取目标文件信息', 404); }
内容的提问来源于stack exchange,提问作者Lars van Teeffelen
相关产品推荐
相关产品推荐

