WordPress upload 'bestandstype niet toegestaan'.

Het kan voorkomen dat je een bestand wilt uploaden met een minder gebruikelijke extensie. Denk bijvoorbeeld aan .woff, .ttf, .svg, .ico of andere speciale extensies. 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 wp-config.php:

define('ALLOW_UNFILTERED_UPLOADS', true);

Let op de juiste aanhalingstekens; gebruik enkele rechte aanhalingstekens (') in plaats van gekrulde (‘’) of kopieer bovenstaande regel.

Door ALLOW_UNFILTERED_UPLOADS in te stellen op true , schakel je deze veiligheidscontroles uit. Dit betekent dat gebruikers elk type bestand kunnen uploaden, ongeacht de standaardrestricties van WordPress. Dit kan handig zijn in bepaalde scenario's waar je meer flexibiliteit nodig hebt in de soorten bestanden die geüpload kunnen worden. Echter, het brengt aanzienlijke veiligheidsrisico's met zich mee en zou met grote voorzichtigheid gebruikt moeten worden. Het is dan ook aanbevolen om deze functie nadien weer op false te zetten.

Oplossen met custom plugin

Als je niet voor bovenstaande oplossing kiest, kun je de plugin "Disable Real MIME Check" installeren.

Oplossen met functions.php bestand

Een derde oplossingsmogelijkheid is het functions.php bestand van je thema aan te passen. Ieder thema bevat een functions.php bestand en je zult het dus vinden in de map van je thema, vaak op éé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 Functions (of functions.php ). Vanuit daar kun je het bestand inzien en in veel gevallen ook aanpassen.

Plaats onderstaand 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 = []) {
    $mimetypes = new Mimetype();
    $file_types = get_option('ext');
    $variables = explode(' ', $file_types);
    foreach ($variables as $value) {
        $value = trim($value);
        if (!strstr($value, '/')) {
            $mime = $mimetypes->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;
    }
}
Heeft dit artikel je goed geholpen? Dank voor je feedback! Er is een probleem opgetreden bij het verzenden. Probeer opnieuw.