เปลี่ยนไดเรกทอรีอัปโหลดสำหรับไฟล์ PDF


14

ฉันต้องการเปลี่ยนไดเรกทอรีอัปโหลดสำหรับไฟล์ PDF เท่านั้นไม่ใช่สำหรับไฟล์อื่น ตัวอย่างเช่นไฟล์ PDF จะถูกอัปโหลดไปwp-content/uploads/pdfแต่ไฟล์อื่น ๆ wp-content/uploads/yyyy/mmจะยังคงอยู่ใน

ฉันรู้ว่ามันเป็นไปได้ในการกรองupload_dirแต่ฉันไม่รู้ว่าจะทำอย่างไรกับไฟล์ / ประเภท mimes

ขอบคุณ!


คำตอบ:


17

ความยุติธรรมต่อไปนี้คือโอกาสในการขายที่ถูกฉันสิ้นสุดการปรับฟังก์ชั่นจากปลั๊กอินนี้: 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 /" กรุณาช่วย
Ivan Slaughter

1

คุณสามารถเปลี่ยนไดเรกทอรีอัพโหลดจากไฟล์ wp-config.php ใน wordpress

define ('UPLOADS', 'myimages'); ตรวจสอบให้แน่ใจว่าคุณเพิ่มรหัสนี้ก่อนบรรทัด:

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

นี่เป็นการอนุญาตให้คุณอัปโหลดสื่อในโฟลเดอร์ myimages แทนที่จะเป็น wp-content / uploads

ขอบคุณ


สิ่งนี้ไม่ตอบคำถาม ปัญหาเริ่มแรกคือการเปลี่ยนโฟลเดอร์อัพโหลดสำหรับpdfไฟล์เท่านั้น
Sinklar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.