为了重命名,您必须像下面这样修改代码。您的代码缺少目录的绝对路径。这就是你的代码不起作用的原因。正在添加ABSPATH
将修复代码。
rename( ABSPATH . "wp-content/uploads/Directory/Clients/$Client_Name", ABSPATH . "wp-content/uploads/Directory/Clients/$New_Name" );
为什么不使用
WP_Filesystem_Direct
. 这样更好更安全。通过将这些文件包含到
functions.php
require_once(ABSPATH . \'/wp-admin/includes/class-wp-filesystem-base.php\');
require_once(ABSPATH . \'/wp-admin/includes/class-wp-filesystem-direct.php\');
现在,根据给定的代码,将其更改如下:
if(isset($_POST[\'Edit_Client\']) == \'1\'){
$current = ABSPATH . "wp-content/uploads/Directory/Clients/$Client_Name";
$destination = ABSPATH . "wp-content/uploads/Directory/Clients/$New_Name";
WP_Filesystem_Direct::move($current,$destination);
}
WP_Filesystem_Direct
将自动检查任何更好的方法。它将首先尝试重命名。如果失败,它将复制并删除旧文件夹。
了解更多信息WP_Filesystem_Direct::move &;WP_Filesystem_Direct