php - 如何使用 Filesystem_API 删除 wordpress 中的目录

标签 php wordpress file

我正在使用 WordPress 4.8.1

我试图从主题设置中删除一个目录,但既没有收到任何错误也没有成功。 甚至 PHP 错误日志也没有记录有关它的数据,我的 WP_DEBUG 是打开的。

$wp_filesystem_base = WP_Filesystem_Base();
$wp_filesystem_base->rmdir(dirname($file_path), true);

这个类肯定不是未定义的,因为我可能会遇到一些错误,但我仍然使用 class_exists 来检查它并且它在我使用的地方可用。

如果我做错了或者需要更多关于这个问题的信息,请告诉我。

最佳答案

由于此处缺少 WordPress 的核心方法工作答案,我提出了这个总结所有其他答案的完整解决方案。

require_once ( ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php' );
require_once ( ABSPATH . 'wp-admin/includes/class-wp-filesystem-direct.php' );
$fileSystemDirect = new WP_Filesystem_Direct(false);
$fileSystemDirect->rmdir($dir, true);

总结:

  • 您不能使用 WP_Filesystem_Base 因为它没有真正实现 rmdir 方法;它只是一个界面。
  • 您必须要求 class-wp-filesystem-base.php 因为它是 WP_Filesystem_Direct 的依赖项>
  • 您始终可以像某人建议的那样使用您自己的 rrmdir,但当核心中已有功能可用时,您不必添加额外的代码来维护;
  • 传递给构造函数的 false 参数只是因为需要 $arg 参数但未按照官方 WP 文档中的说明使用。

关于php - 如何使用 Filesystem_API 删除 wordpress 中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46357748/

相关文章:

php - 获取可用的 Drupal View 列表

javascript - 无需打开网站即可自动事件(没有访客的 cron)

php - 如何在 Accordion 中为我的循环发布 wordpress 函数

linux - 如何grep并写入新文件

php - 如何验证域所有权

php - jquery实时更新数据库中的行

php - 什么 PHP ORM 最像 NHibernate?

Wordpress:添加一个适用于所有帖子的自定义字段选项

oracle - ORA-00439 : feature not enabled: Basic Compression

python - 从文件读取后写回同一个文件