在Wordpress 3.6中“自动”自定义上传目录?

时间:2013-09-08 03:45:14

标签: php wordpress wordpress-plugin image-uploading plupload

为Wordpress编写插件,无法设置上传文件夹。我用Google搜索时找到了这个:

$upload_dir = "images/objects" . (isset($_REQUEST['ObjectNo']) ? "/{$_REQUEST['ObjectNo']}"  : "");
$plugin_dir = WP_PLUGIN_DIR . '/' . BGREAL_PLUGIN_NAME;
$plugin_url = WP_PLUGIN_URL . '/' . BGREAL_PLUGIN_NAME;

function sss_configure_upload_dir($path_data)
{
   global $upload_dir;
   global $plugin_dir;
   global $plugin_url;

   $path_data['path'] = $plugin_dir . "/" . $upload_dir;
   $path_data['url'] = $plugin_url . "/" . $upload_dir;
   $path_data['subdir'] = "/" . $upload_dir;
   $path_data['basedir'] = $plugin_dir;
   $path_data['baseurl'] = $plugin_url;

   return $path_data;
}
add_filter('upload_dir', 'sss_configure_upload_dir');

在上传者框架打开的页面上,我有以下内容:

$upl = wp_upload_dir();
echo $upl['path'];`

回应C:\PATH\TO\HTDOCS\public_html/wp-content/plugins/bg_real/images/objects/11212

问题是,当我打开媒体上传框架并上传图片时,由于/wp-content/plugins/bg_real/images/objects功能中缺少$_REQUEST['ObjectNo'],因此保存到async-upload

我需要在查询字符串ObjectNo后的文件夹中组织图像。

有什么想法吗?花了几个小时在谷歌等,并尝试了不同的方法,但似乎都没有。

谢谢,

2 个答案:

答案 0 :(得分:0)

我为WordPress维护Custom Upload Dir-plugin。它使用户能够拥有上下文感知的上传路径(例如:以当前帖子或作者命名的文件夹,日期时间等)。修改我的过滤器以包含您的查询字符串是微不足道的。

答案 1 :(得分:0)

如果有人偶然发现这一点,您可以使用UPLOADS文件中的wp-config.php目录常量:

// before including wp-settings.php
define( 'UPLOADS', WP_CONTENT_DIR.'/my-upload-target' );

那就是它。其余的人会自动受到关注。