WordPress Sitesine Farklı Türlerde Dosya Ekleyebilme

18 Kasım 2020 0 Yorum

WordPress sitelerimizde belirli dosya türleri dışındaki dosyaları, Ortam Ekleme penceresini kullanarak ekleyemiyoruz. Ancak bazen sitelerimizde özel dosya türlerini yükleyip, yazılarımıza ekleyerek yayınlamak isteyebiliriz. Bu durumda ne yapabiliriz?
WordPress aşağıdaki normalde sadece aşağıdaki dosya türlerini yüklememize izin veriyor.

Resim Türleri

  • .jpg
  • .jpeg
  • .png
  • .gif


Belge Türleri

  • .pdf (Portable Document Format; Adobe Acrobat)
  • .doc, .docx (Microsoft Word Document)
  • .ppt, .pptx, .pps, .ppsx (Microsoft PowerPoint Presentation)
  • .odt (OpenDocument Text Document)
  • .xls, .xlsx (Microsoft Excel Document)

Müzik Türleri

  • .mp3
  • .m4a
  • .ogg
  • .wav

Video Türleri

  • .mp4, .m4v (MPEG-4)
  • .mov (QuickTime)
  • .wmv (Windows Media Video)
  • .avi
  • .mpg
  • .ogv (Ogg)
  • .3gp (3GPP)
  • .3g2 (3GPP2)

WordPress bu dosya türleri dışındaki dosyaları yüklemenize izin vermez. Ancak oldukça esnek bir yapıya sahip olan WordPress bunun için de bize bir çözüm sunuyor. Aşağıdaki kodda, eklemek istediğiniz dosya türlerine ait uzantı ve mime türlerine ait değişiklikleri yapıp, temanızın functions.php dosyasına eklemeniz yeterli.


<?php
add_filter('upload_mimes','add_custom_mime_types');
  function add_custom_mime_types($mimes){
   return array_merge($mimes,array (
       'ac3' => 'audio/ac3',
       'mpa' => 'audio/MPA',
       'flv' => 'video/x-flv',
       'svg' => 'image/svg+xml'
    ));
}
?>

Kodu incelediğinizde göreceksiniz ki yapmanız gereken, sitenize yüklemek istediğiniz dosyanın uzantısını ve bu uzantıya ait mime type denilen özelliği kod içerisine eklemek. Dosya uzantılarına ve bunlara ait olan Mime Type özelliklerini WebMaster Toolkit adresinden veya FreeFormatter adresinden öğrenebilirsiniz.


Var Olan Bir Dosya Türünün Yüklenmesini Engellemek İçin

Diyelim ki sitemize mp4 dosya türündeki dosyaların yüklenmesini istemiyoruz. Bu durumda aşağıdaki kodu temanızdaki functions.php dosyasına uygun şekilde eklemeniz yeterli. Tabi ki kodu kendinize göre uyarlamayı unutmayın.

<?php
add_filter('upload_mimes','remove_mime_types');
  function remove_mime_types($mimes){
    unset( $mimes['mp4'] );
}
?>

Eğer daha fazla dosya türünü engellemek isterseniz, unset ile başlayan satırı uygun şekilde çoğaltabilirsiniz.