WP çoklu sitesinde özel Posta türündeki PDF'ler için belirli yükleme klasörü


14

Yalnızca PDF'ler için "belge" adı verilen özel bir gönderi türü için yüklemeleri belirli bir klasöre filtrelemem gerekiyor.

Şimdiye kadar var:

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' );

Çalışıyor, ancak bazı problemlerle:: her türlü dosya my_uploadfolder'a yönlendiriliyor. Ayrıca, bu dosyaları bir kez WP yöneticisinden silemiyorum. Birisi yardımcı olabilir mi?

Yanıtlar:



2

Burada sorun yaşamanızın nedeni, evrensel bir filtre uygulamanızdır upload_dir. Aksine bunu daha bir koşullu filtre kullanmak upload_dirilk kontrolden sonra ['mime-type']için application/pdf. wp_handle_uploadEylem kancasında yükleme işlemini durdurmanız ve oradaki yükleme klasörünü değiştirmeniz gerekir. Gönderdiğiniz şey doğru yönde ilerliyor, ancak yükleme işlemi sırasında WordPress'in depoladığı $_POSTdosyaları arayarak gelen verilerle çalışmanız ve filtreyi uygulamanız gerekiyor ['mime-type'].

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.