WordPress upload bestandstype niet toegestaan
Het kan voorkomen dat je een bestand wilt uploaden met een minder gebruikelijke extensie. Denk bijvoorbeeld woff, ttf, svg, ico of andere speciale extenties. Aangezien deze typen niet standaard worden toegestaan in de WordPress media uploader, dient daarvoor een uitzondering toegevoegd te worden. Wanneer je dat niet doet zal WordPress een foutmelding geven: “Dit bestandstype is niet toegestaan in verband met veiligheidsredenen.“
Oplossen met WP config bestand
Voeg de volgende regel toe in de wp-config.php:
define(‘ALLOW_UNFILTERED_UPLOADS’, true);
Oplossen met custom plugin
Als je daar niet voor kiest, kun je de plugin Disable Real MIME Check installeren.
Oplossen met functions.php bestand
Een derde oplosmogelijkheid is de functions.php van het theme aan te passen. Ieder thema bevat een functions.php bestand en zal je het dus vinden in de map van je thema. Vaak zit dat in één van de onderstaande locaties:
public_html/wp-content/themes/jouwthemanaam/functions.php
custompadhier/wp-content/themes/jouwthemanaam/functions.php
Je kunt het functions.php bestand ook zien vanuit je WordPress backend/dashboard. Daarvoor ga je vanuit het dashboard naar ‘Weergave > Editor’ en zoek je rechts in de lijst naar een bestand genaamd ‘Theme options’ (of functions.php). Vanuit daar kun je het bestand inzien en in veel gevallen ook aanpassen.Plaats onderstaande script in je functions.php. Let op dat je dit helemaal onderaan doet, zodat je geen andere scripts of functionaliteit verbreekt.
add_filter('upload_mimes', 'custom_upload_mimes'); function custom_upload_mimes ($existing_mimes = array()) { $mimetype = new mimetype(); $file_types = get_option('ext'); $variables = explode(' ', $file_types); foreach($variables as $value) { $value = trim($value); if(!strstr($value, '/')) { $mime = $mimetype->privFindType($value); } else { $mime = $value; } $existing_mimes[$value] = $mime; } return $existing_mimes; } class mimetype { function privFindType($ext) { $mimetypes = $this->privBuildMimeArray(); if (isset($mimetypes[$ext])) { return $mimetypes[$ext]; } else { return 'application/octet-stream'; } } function privBuildMimeArray() { require_once('inc/types-mimes.php'); return $types; } }