存储插件/主题创建的PHP文件的位置 时间:2011-04-25 作者:onetrickpony 在某些情况下,插件或主题需要在某个地方创建一个php文件,以后可以将其包含在内。例如,一个验证码插件,或某种模板系统,如twig/smarty(在我的情况下,它是一个用于小部件集合的简单模板引擎)。应在何处创建此文件?我唯一能想到的地方是wp-content/uploads/, 但这听起来不对:)那么,有没有一个安全的地方可以创建文件,而不用担心它们在WordPress/插件/主题更新中被删除?一种解决方案是在主题/插件目录中创建一个子主题/目录。。。 6 个回复 最合适的回答,由SO网友:mfields 整理而成 IMHO的适当位置是您在wp内容目录中创建的自定义文件夹在创建文件之前请阅读以下内容:http://ottopress.com/2011/tutorial-using-the-wp_filesystem/ SO网友:Sebi 在编写Wordpress插件时,我偶然发现了你的问题。我还首先考虑创建临时文件来缓存插件创建的一些数据。然而,再仔细考虑一下,这种方法对我来说似乎很奇怪,因为如果您试图使用服务器集群来扩展临时数据,那么您不希望临时数据躺在一台服务器上。因此,我再次搜索,似乎解决此类问题的有效方法是Wordpress Transients API 允许您在数据库中存储过期日期的数据。当然,您的问题可能仍然需要本地缓存的文件,例如,如果它们对于数据库来说太大,但至少我建议也看看这个选项:-) SO网友:fuxia 您不能依赖插件或主题目录中的写访问权限,因此wp_upload_dir() 是唯一可能的目录But 我真的怀疑是否有必要将信息存储在新文件中。如果模板是由用户创建的,请将其存储在一个选项中,并使用常规插件函数解析内容(例如,将占位符替换为strtr()). SO网友:Chris_O 我只能想出几个插件需要创建文件的好理由。一种是备份复杂的选项,用户可以将这些选项导出并下载到新站点。另一个是站点地图插件。如果你的插件有用户可以自定义的模板文件,你应该让用户选择将自定义文件移动到当前主题目录,这样当你的插件更新时,它们就不会被覆盖。您可以尝试先从主题目录加载文件,然后返回到插件目录。Gravity Forms将表单上载的文件存储在上载中自己的文件夹中。W3 Total缓存使用wp内容,登录重定向使用上述方法。 SO网友:Chip Bennett 如果您必须创建文件(例如CAPTCHA插件的临时文件),那么您肯定应该使用\\wp-content\\uploads\\ (或自定义目录,如\\wp-content\\plugin-slug-files\\).大多数其他自定义代码实际上应该存储在数据库中。 SO网友:hakre 我总是建议使用与PSR-0兼容的自动加载器和一个可以正常工作的库文件夹。一些WP用户可能会向您开枪,但您可能没有关注这些用户,所以这可能是一种选择。尤其是当您获得越来越多的特定于供应商的LIB时。 结束 文章导航