# Feltöltés: fájltípusok és a feltöltő üzenetei

> Új fájltípusok engedélyezése, a feltöltés korlátozása egyetlen típusra, és az AJAX-feltöltő szövegeinek átírása.

A **Feltöltés** mező alapjait, a törlést és az átnevezést a [Kiválasztás, Minta, Szöveg, Szövegmező és Feltöltés mező](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/mezotipusok-kivalasztas-szoveg-feltoltes/) fejezet írja le. Ez a fejezet arról szól, hogyan szabhatod testre, milyen fájlt tölthet fel a vásárló, és milyen szöveget lát közben.

## Engedélyezett fájltípusok módosítása

Alapból csak képet (JPEG, GIF, PNG) lehet feltölteni.

1. Nyisd meg a **WooCommerce → Beállítások → Termékkiegészítők → Feltöltések** oldalt.
2. A **Fájltípusok** mezőben add hozzá a kívánt MIME-típusokat, vagy töröld a feleslegeseket.
3. Kattints a **Módosítások mentése** gombra.

![A Feltöltések beállítóoldal a Fájltípusok mezővel](./kepek/beallitasok-feltoltesek.webp)

*A Feltöltések beállítóoldal a Fájltípusok mezővel* (https://minta-bolt.hu/wp-admin/admin.php?page=wc-settings&tab=pewc&section=pewc_uploads)

A **Fájltípusok** mezőben alapból az `image/jpeg`, az `image/gif` és az `image/png` áll.

**Figyelem:** ha a vásárlók fájlt tölthetnek fel a szerveredre, az biztonsági kockázat. Csak olyan típust engedélyezz, amelyre tényleg szükséged van.

### Típus, amelyet a WordPress nem ismer

Ha a WordPress alapból nem támogat egy fájltípust, az `upload_mimes` szűrővel kell megtanítanod rá. Ez a kódrészlet például a Photoshop-fájlokat (PSD) engedi:

```php
function sajat_psd_engedelyezese( $mimes ) {
	$mimes['psd'] = 'image/vnd.adobe.photoshop';
	return $mimes;
}
add_filter( 'upload_mimes', 'sajat_psd_engedelyezese' );
```

A bővítmény saját `pewc_permitted_mimes` szűrőjével is bővítheted az engedélyezett típusok listáját. Több típust (például PDF, SVG, EPS, AI, PSD, XD, PS, XLS, XLSX, CSV) úgy engedhetsz, hogy mindkét szűrőhöz hozzáadod a kiterjesztést és a hozzá tartozó MIME-típust. Az `upload_mimes` szűrőt ilyenkor 1-es prioritással kösd be, hogy a bővítmény szűrője előtt lefusson. Az XLSX MIME-típusa `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`.

Ha nem szeretnél kódot írni, a WordPress.org ingyenes **WP Extra File Types** bővítményével is bekapcsolhatsz további fájltípusokat.

A kódot a szokásos módon add hozzá: kódrészlet-bővítménnyel vagy a gyermektéma `functions.php` fájljában.

## Csak egyetlen fájltípus engedélyezése

Ha például csak ZIP-fájlt fogadnál el, két szűrőt kell használnod:

- a `pewc_permitted_mimes` a feltöltőmező által elfogadott MIME-típusokat korlátozza,
- a `pewc_protected_directory_allowed_filetypes` a védett feltöltési mappában engedélyezett kiterjesztéseket korlátozza.

```php
function sajat_csak_zip( $permitted_mimes ) {
	return array( 'zip' => 'application/zip' );
}
add_filter( 'pewc_permitted_mimes', 'sajat_csak_zip' );

function sajat_vedett_mappa_csak_zip( $allowed_filetypes ) {
	return array( 'zip' );
}
add_filter( 'pewc_protected_directory_allowed_filetypes', 'sajat_vedett_mappa_csak_zip' );
```

Másik típusnál a kiterjesztést és a hozzá tartozó MIME-típust cseréld le.

## A feltöltő üzeneteinek átírása

Az AJAX-feltöltő (a húzással működő feltöltőfelület) szövegeit szűrőkkel írhatod át. Minden üzenethez egy `pewc_filter_<kulcs>_message` nevű szűrő tartozik: a függvény megkapja az eredeti szöveget, és a visszaadott szöveg jelenik meg.

| Szűrő | Mit módosít |
|---|---|
| `pewc_filter_dictDefaultMessage_message` | A feltöltőmező felirata, alapból „Drop files here to upload” |
| `pewc_filter_dictFallbackMessage_message` | Üzenet, ha a böngésző nem támogatja a húzásos feltöltést |
| `pewc_filter_dictFallbackText_message` | A tartalék feltöltőűrlap útmutatója |
| `pewc_filter_dictFileTooBig_message` | Hibaüzenet, ha a fájl túl nagy |
| `pewc_filter_dictInvalidFileType_message` | Hibaüzenet, ha a fájltípus nem engedélyezett |
| `pewc_filter_dictCancelUpload_message` | A feltöltés megszakítása gomb felirata |
| `pewc_filter_dictUploadCanceled_message` | Üzenet a megszakított feltöltés után |
| `pewc_filter_dictCancelUploadConfirmation_message` | Megerősítő kérdés megszakításkor |
| `pewc_filter_dictRemoveFile_message` | A fájl eltávolítása gomb felirata |
| `pewc_filter_dictMaxFilesExceeded_message` | Hibaüzenet, ha elérted a fájlok maximális számát |

Például a feltöltőmező felirata így változtatható meg:

```php
function sajat_feltoltes_felirat( $message ) {
	return 'Húzd ide a fájljaidat';
}
add_filter( 'pewc_filter_dictDefaultMessage_message', 'sajat_feltoltes_felirat' );
```

Több üzenet átírásához ismételd meg ugyanezt a másik szűrőnévvel és egyedi függvénynévvel.
