WordPress beheert media bestanden via de Media Library of Media Bibliotheek. Standaard worden een aantal bestandsformaten, of beter gezegd: MIME-types, toegestaan voor upload.
De huidige standaard selectie is wat beperkt zeker als je bijvoorbeeld een bbPress forum draait waarbij men bijvoorbeeld RAR of 7z bestanden wilt uploaden.
Helaas heeft WordPress geen Admin pagina om dit te configureren, en moeten we dus een stukje code zelf toevoegen. In dit artikel laat ik je zien hoe dat gedaan kan worden met als doel extra bestandsformaten of te well MIME types toe te voegen.
Standaard Ondersteunde File Types in WordPress
WordPress heeft dus een standdaar set toegstane MIME types (ook wel file types of Internet Media Types genoemd) – Ik weet zeker dat deze lijst in de toekomst zal veranderen, kijk daarom dus ook eens op de WordPress Accepted FileTypes pagina of de WordPress Codex m.b.t. Uploading Files.
Op dit moment worden de volgende bestandsformaten toegestaan voor het uploaden van media naar de Media Library:
Afbeeldingen: .gif, .jpg, .jpeg, .png
Documenten: .pdf, .doc, .docx, .ppt, .pptx, .pps, .ppsx, .odt, .xls, .xlsx, .zip
Audio: .mp3, .m4a, .ogg, .wav
Video: .mp4, .m4v, .mov, .wmv, .avi, .mpg, .ogv, .3gp, .3g2
Bedenk overigens dat het niet kunnen uploaden van media ook andere oorzaken kan hebben:
– gebrek aan disk/opslag ruimte
– bestanden die groter zijn dan de maximum toegestane bestand omvang
– beperkingen m.b.t. bestandsformaten door de web-host
Merk op : Als je grotere bestanden wilt toelaten dan moet je de PHP configuration file (php.ini) bewerken en de volgende regels aanpassen of toevoegen in php.ini (dit voorbeeld laat bestand to 32 Mb in omvang toe):
1 2
| upload_max_filesize = 32M
post_max_size = 32M |
Toevoegen van Additioneel toegestane File Types
De nu volgende aanpak is eenvoudig: We voegen file/MIME types toe aan de lijst van standaard toegestane bestandsformaten.
LET OP VEILIGHEIDSPROBLEMEN!
Voor je willekeurige file/MIME types toevoegt: bedenk wat voor veiligheidsrisico’s deze formaten met zich meebrengen!
Bijvoorbeeld HTML (.htm, .html), JavaScript (.js) en PHP (.php) bestanden kun je beter vermijden omdat ze mogelijkerwijs uitgevoerd kunnen worden op jouw server met alle mogelijke gevolgen van dien. Dit soort bestanden kunnen overigens altijd prima als gecomprimeerd ZIP of RAR bestand geüpload worden natuurlijk.
Voeg alleen formaten toe die je ECHT nodig hebt en waarvan je ZEKER WEET dat ze geen veiligheidsrisico vormen.
Een volledige lijst van MIME formaten, bijgehouden door IANA, vindt je in het Media Types Overzicht.
De nu volgende code moet je toevoegen aan het functions.php
bestand van jouw thema/theme.
Het voorbeeld voegt de volgende fomaten toe:
Data bestanden: CSV, XML,
Gecomprimeerde bestanden: 7z, RAR, TAR, TGZ, ZIP, GZ, GZIP
Application pakketten: APK, DEB, RPM
Disk images: IMG, ISO
Fonts: TTF, WOFF
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| add_filter('upload_mimes', 't4a_add_custom_upload_mimes');
function t4a_add_custom_upload_mimes($existing_mimes){
return array_merge($existing_mimes, array(
'csv' => 'application/octet-stream',
'xml' => 'application/atom+xml',
'7z' => 'application/x-7z-compressed',
'rar' => 'package/rar',
'tar' => 'package/x-tar',
'tgz' => 'application/x-tar-gz',
'apk' => 'application/vnd.android.package-archive',
'zip' => 'package/zip',
'img|iso' => 'package/img',
'gz|gzip' => 'package/x-gzip',
'deb|rpm' => 'package/x-app',
'ttf|woff' => 'application/x-font') );
return $existing_mimes;
} |
Wat we hier in principe doen is de array van toegestane bestandsformaten ($existing_mimes) uitbreiden met de formaten die we willen toevoegen voor upload naar de Media Library. Na het uitbreiden van de array sturen we de “nieuwe” array terug naar WordPress.
Bedenk dat bovenstaande code slechts een VOORBEELD is – je zult het moeten aanpassen naar wat JIJ NODIG hebt.
En dat is alles …
Reacties
Er zijn 8 reacties welke je hieronder kunt lezen.
Je kunt jouw eigen opmerkingen plaatsen m.b.v. dit formulier, of een reactie op een bestaande opmerking plaatsen door op de "Beantwoorden" knop te klikken.
In wordpres pagina maken zit een tab met visueel en tekst.
Als ik in de tekst een stukje html zet en schakel dan even naar visueel en weer terug naar tekst dan is de html verdwenen. Hoe zou ik dit kunnen oplossen, wat moet ik in functions.php zetten.
IJsbrand
Hallo IJsbrand,
ja, dat is een vervelende eigenschap van WordPress – het probeert eventuele code “schoon” en “veilig” te maken en daarbij wordt nog wel eens ongewenst HTML verwijderd.
Wat voor HTML wil je toevoegen?
Ik denk dat je de oplossing moet zoeken in tinyMCE (de rich editor voor WP).
Zie b.v.:
– Stop WordPress removing HTML
– TinyMCE Advanced
Ik heb hier zelf niet veel aandacht aan gegeven op mijn eigen website, omdat ik er steeds achter kwam dat het niet/wel strippen van HTML vaak gepaard ging met nieuwe problemen.
hans
Het stukje <nobr> hier een stuk tekst</nobr> dit zal inhouden dat de tekst bij mekaar blijft en niet op verschillende regels komt te staan.
Ik zal kijken naar stop wordpress removing HTML
Alvast bedankt voor de info..
IJsbrand
Hoi IJsbrand,
ik heb zelf de <nbr> tag nooit gebruikt en deze wordt ook als depreciated gezien.
Als ik me niet vergis blijven classes en styles wel behouden (maar ik kan me vergissen, want elke class/style die ik gebruik zit in m’n standaard css file).
Als ik me niet vergis kun je deze css style toepassen mbv een <span>
Maar … ik heb dit niet getest en ik weet dus ook niet of dat behouden blijft.
hans
Heb het uitgetest en het werkt perfect. Bedank voor het antwoord.
Ik ben een nieuwkomer in WordPress en ben bezig om een site van Joomla om te zetten naar WordPress hierdoor loop ik dan tegen wat kleine probleempjes aan.
Nogmaals bedankt
IJsbrand
Hoi IJsbrand,
graag gedaan en mooi om te horen!
WordPress kan geweldig zijn, maar (net als Joomla) heeft zo z’n eigenaardigheden (ik ben b.v. nog steeds op zoek naar een goed forum hahaha).
Als je nog meer vragen hebt; stel ze gerust. Eventueel in het forum, ik hou dat goed in de gaten.
hans
Hallo Hans,
Onderstaande een link voor joomla forum. Verder wil ik even melden dat ik mijn bovenstaande vraag al op 3 andere forums van WordPress heb gesteld echter van niemand reactie gekregen dus voor jou hulde. Misschien zie je me terug met vragen.
https://www.joomlacommunity.nl/forum is een leuk forum.
Groetjes, IJsbrand
IJsbrand
Dank je wel IJsbrand, graag gedaan!
Je kunt altijd terecht in WebDevelopment forum, ik kijk regelmatig in het forum, dus als je een vraag hebt! Dank je voor de Joomla link.
hans