如何添加更多上传目录?

时间:2011-12-06 作者:Jenny

我的WordPress媒体库中有两种类型的文件,一种用于帖子中的图片和附件,另一种用于自定义帖子类型中的附件。

我想把它们分开组织,use my plugin\'s dir as basedir 对于自定义帖子类型,而keep other files in Wordpress\' default upload directory.

是否可以再添加一个basedir?

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

以下代码将更改特定帖子类型的上载目录!

只需确保将“post type”(第14行)的两个实例都替换为自定义post类型的名称即可。

/**
 * Change Upload Directory for Custom Post-Type
 * 
 * This will change the upload directory for a custom post-type. Attachments will
 * now be uploaded to an "uploads" directory within the folder of your plugin. Make
 * sure you swap out "post-type" in the if-statement with the appropriate value...
 */
function custom_upload_directory( $args ) {

    $id = $_REQUEST[\'post_id\'];
    $parent = get_post( $id )->post_parent;

    // Check the post-type of the current post
    if( "post-type" == get_post_type( $id ) || "post-type" == get_post_type( $parent ) ) {
        $args[\'path\'] = plugin_dir_path(__FILE__) . "uploads";
        $args[\'url\']  = plugin_dir_url(__FILE__) . "uploads";
        $args[\'basedir\'] = plugin_dir_path(__FILE__) . "uploads";
        $args[\'baseurl\'] = plugin_dir_url(__FILE__) . "uploads";
    }
    return $args;
}
add_filter( \'upload_dir\', \'custom_upload_directory\' );
这是为了与插件一起使用,但可以修改以用于主题。希望这有帮助,如果你有任何问题,请告诉我!

==更新==

我忘了提到,如果您想使用WordPress的默认年/月方法组织上传文件夹,只需将第15行和第16行更改为以下内容:

$args[\'path\'] = plugin_dir_path(__FILE__) . "uploads" . $args[\'subdir\'];
$args[\'url\']  = plugin_dir_url(__FILE__) . "uploads" . $args[\'subdir\'];

结束

相关推荐

404从wp-Content/Uploads/获取图像时

我在获取图像时获得404状态,http仍然包含该图像。图像显示在浏览器中,但404代码中断了一些应用程序。对wp内容/上载/的调用被重定向到。htaccess:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteRule (.*) /index.php?getfile=$1 [L] </IfModule>&