WP 멀티 사이트에서 사용자 정의 Post 유형의 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 관리자에서 이러한 파일을 삭제할 수 없습니다. 누군가 도울 수 있습니까?

답변:



2

여기에서 문제가 발생하는 이유는에 범용 필터를 적용하고 있기 때문 upload_dir입니다. 오히려 이렇게보다 대한 조건부 필터를 사용하는 upload_dir제 확인한 후 ['mime-type']대한 application/pdf. wp_handle_upload작업 후크 에서 업로드 프로세스를 가로 채서 업로드 폴더를 변경해야합니다. 게시 한 것은 올바른 방향으로 향하고 있지만 업로드 프로세스 중에 WordPress에 저장하는 $_POST파일을 업로드 하여 수신 데이터 로 작업 하고 필터를 적용해야 ['mime-type']합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.