PDFファイルのアップロードディレクトリを変更する


14

他のファイルではなく、PDFファイルのみのアップロードディレクトリを変更したいと思います。たとえば、PDFファイルはアップロードされwp-content/uploads/pdfますが、他のファイルはに残りますwp-content/uploads/yyyy/mm

フィルタリングできるupload_dirことは知っていますが、ファイルの種類/ MIMEでそれを行う方法はわかりません。

ありがとう!


これはあなたを助けることがあります。 wordpress.stackexchange.com/questions/26939/...
正義ある格安の

回答:


17

Justice Is Cheapリードに続いて、このプラグインからの機能の適応を終了しました:http : //wordpress.org/extend/plugins/custom-upload-dir/

<?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;
}

こんにちは...「/ wp-content / uploads /」フォルダーの外にアップロードする必要があります。助けてください
イヴァンスローター

1

wordpressでwp-config.phpファイルからアップロードディレクトリを変更できます。

define( 'UPLOADS'、 'myimages'); 行の前にこのコードを追加してください:

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

これにより、wp-content / uploadsの代わりにmyimagesフォルダーにメディアをアップロードできます

ありがとう


これは質問に答えません。最初の問題は、pdfファイルのアップロードフォルダーのみを変更することでした。
シンクラー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.