Alterar o diretório de upload para arquivos PDF

10

Eu gostaria de alterar o diretório de upload para arquivos PDF somente , não para outros arquivos. Por exemplo, os arquivos PDF seriam enviados para wp-content/uploads/pdf , mas outros arquivos permaneceriam em wp-content/uploads/yyyy/mm .

Eu sei que é possível filtrar upload_dir , mas não sei como fazer isso com tipos de arquivo / mimes.

Obrigado!

    
por Sinklar 30.03.2012 / 20:01

2 respostas

14

Seguindo o lead Justice is Cheap , acabei adaptando as funções deste plugin: enlace

<?php
/* 
 * Change upload directory for PDF files 
 * Only works in WordPress 3.3+
 */

add_filter('wp_handle_upload_prefilter', 'wpse47415_pre_upload');
add_filter('wp_handle_upload', 'wpse47415_post_upload');

function wpse47415_pre_upload($file){
    add_filter('upload_dir', 'wpse47415_custom_upload_dir');
    return $file;
}

function wpse47415_post_upload($fileinfo){
    remove_filter('upload_dir', 'wpse47415_custom_upload_dir');
    return $fileinfo;
}

function wpse47415_custom_upload_dir($path){    
    $extension = substr(strrchr($_POST['name'],'.'),1);
    if(!empty($path['error']) ||  $extension != 'pdf') { return $path; } //error or other filetype; do nothing. 
    $customdir = '/pdf';
    $path['path']    = str_replace($path['subdir'], '', $path['path']); //remove default subdir (year/month)
    $path['url']     = str_replace($path['subdir'], '', $path['url']);      
    $path['subdir']  = $customdir;
    $path['path']   .= $customdir; 
    $path['url']    .= $customdir;  
    return $path;
}
    
por brasofilo 01.05.2012 / 22:20
1

você pode alterar o diretório de upload do arquivo wp-config.php no wordpress.

define ('UPLOADS', 'myimages'); Certifique-se de adicionar este código antes da linha:

require_once (ABSPATH.'wp-settings.php ');

isso permite que você carregue mídia na pasta myimages ao invés de wp-content / uploads

Obrigado

    
por NPatel 11.05.2017 / 08:29