如何让用户在插件目录中存储文件,而不在更新时将其删除?

时间:2020-03-20 作者:jsherk

因此,我希望允许用户为我的插件自定义css,但如果用户创建了一个css文件,然后将其放置在我的插件目录中,那么该文件将在下次更新插件时被删除,因为它不是插件文件的一部分。

如何在插件文件夹中标记用户添加的文件或子目录/文件,使其不会被删除?

谢谢

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

始终使用上载目录存储文件,而不是其他文件。有两个原因:

插件更新时会替换插件目录,因此您的自定义文件将被删除

$uploads = wp_get_upload_dir();

if ( $uploads[\'error\'] ) {
    // something is very wrong, stop messing here
}
else {
    $my_dirname = \'your_plugin_name\';
    $full_path  = $uploads[\'basedir\') . "/$my_dirname";

    if ( ! is_dir( $full_path ) {
        if ( ! mkdir( $full_path ) ) {
            // handle the case when you can\'t create a directory
        }           
    }
}
现在上传目录path$uploads[\'basedir\') . "/$my_dirname", 还有你的URL$uploads[\'baseurl\') . "/$my_dirname".

请参见wp_get_upload_dir() documentation.

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。