问题描述

有些情况下,插件或主题需要在稍后包含它的地方创建一个 php 文件。例如,一个验证码插件,或某种模板系统,如 twig /smarty(在我的情况下,它是一个小工具集合的简单模板引擎) 。

这个文件应该在哪里创建?

我唯一可以想到的地方是 wp-content/uploads/,但是听起来不正确:)

那么有一个安全的地方可以创建文件,而不用担心在 WordPress /plugin /主题更新中被删除?

一个解决方案可能是在 themes /plugins 目录中创建一个子主题/目录

最佳解决方案

合适的位置 IMHO 将是您在 wp-content 目录中创建的自定义文件夹在创建文件之前阅读此文件:http://ottopress.com/2011/tutorial-using-the-wp_filesystem/

次佳解决方案

您不能依赖插件或主题目录中的写访问权限,因此 wp_upload_dir()是唯一可能的目录。但是我真的怀疑有必要将信息存储在新文件中。如果模板是由用户创建的,请将其存储在选项中,使用常规插件功能解析内容 (例如,用 strtr()替换占位符) 。

第三种解决方案

在 Wordpress 插件上工作时,我偶然发现了你的问题。我也首先考虑创建临时文件来缓存我的插件创建的一些数据。但是,如果您尝试使用一组服务器进行扩展,这种方法对我来说似乎很奇怪,因为您不希望在一台服务器上放置临时数据。

所以我再次搜索,似乎有效的解决方案是这样的问题是 WordPress Transients API 允许您在数据库中存储有效期限的数据。当然,您的问题仍然可能需要本地缓存的文件,例如如果它们对于数据库来说太大了,但是至少我建议看一下这个选项:-)

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。