WP多站点中自定义帖子类型的PDF的特定上载文件夹


14

我需要将上传到特定文件夹的文件过滤为仅适用于PDF的自定义帖子类型“文档”。

到目前为止,我有:

function custom_upload_directory( $args ) {
$base_directory = '/home/xxx/my_uploadfolder';
$base_url = 'http://xxxx/wp-content/uploads/my_uploadfolder';

$id = $_REQUEST['post_id'];
$parent = get_post( $id )->post_parent;
// Check the post-type of the current post

if( "document" == get_post_type( $id ) || "document" == get_post_type( $parent ) ) {
    $args['path'] = $base_directory;
    $args['url']  = $base_url;
    $args['basedir'] = $base_directory;
    $args['baseurl'] = $base_url;

}

return $args;
}
add_filter( 'upload_dir', 'custom_upload_directory' );

它可以工作,但是有一些问题::在my_uploadfolder中重定向了任何类型的文件。另外,在那里我无法从WP管理员删除这些文件。有人可以帮忙吗?

Answers:



2

您在此处遇到问题的原因是您正在对应用通用过滤器upload_dir。而不是这样做,使用条件过滤器upload_dir首先检查后['mime-type']进行application/pdf。您需要在wp_handle_upload操作钩子处拦截上载过程,并在那里更改上载文件夹。您发布的内容朝着正确的方向前进,但是您需要处理传入的$_POST数据,并通过搜索['mime-type']在上载过程中WordPress存储的上载文件在其中应用过滤器。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.