将附件上传到自定义目录时出现问题

时间:2012-10-06 作者:Felix

我一直在尝试将附件上载到自定义目录,而不影响旧的上载。所以我使用下面的代码来实现

add_filter(\'wp_handle_upload_prefilter\', \'cust_pre_upload\');
add_filter(\'wp_handle_upload\', \'cust_post_upload\');

function cust_pre_upload($file){
add_filter(\'upload_dir\', \'cust_dir\');
return $file;
}

function cust_post_upload($fileinfo){
remove_filter(\'upload_dir\', \'cust_dir\');
return $fileinfo;
}


function cust_dir( $args ) {
$customdir ="/mars";
$args[\'path\'] = "C:/wamp/www/web1/wp-content";
$args[\'url\']  = "http://localhost/web1/wp-content";

$args[\'subdir\']  = $customdir;
$args[\'path\']   .= $customdir; 
$args[\'url\']    .= $customdir;     
return $args;
}
我使用wp\\u handle\\u upload\\u预过滤器仅为我现在或将来上载的附件分配新目录,并使用wp\\u handle\\u upload防止旧附件。这段代码完美地上传到它应该在的文件夹中[http://localhost/web1/wp-content/mars/file.jpg但是附件出现了错误,并显示了无效的附件url,如下所示[http://localhost/web1/wp-content/uploads/C:/wamp/www/web1/wp-内容/火星/文件。jpg]任何帮助或想法都将不胜感激:)尝试了不同类型的代码,但没有成功。

1 个回复
SO网友:Rarst

如果我没记错的话你需要chdir() 到您的自定义上载目录中(在那里保存任何内容之前),以便正确处理路径并将其保存在meta中。

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register