<

Form caricamento media

Ultima modifica: 27 Settembre 2025

Questo snippet serve a permettere agli utenti (probabilmente utenti registrati) di caricare un file dal loro dispositivo oppure da un altro sito web in una cartella personalizzata tramite un form.

Form

Inseriamo innanzitutto il blocco gutenberg gpci/form e configuriamolo:

  • nome/id: add-media-to-folder
  • method: POST
  • sanificazione automatica: attivata
  • invia tramite js: attivato
  • posizione risposta(compare dopo aver attivato le istruzioni php): questo form
  • istruzioni php:
$file = $_FILES['media-local'];
if( $file['error'] > 0 ){ $file = $_POST['media-url'] ?? false; }
if( $file ){
  SetUploadDir( $action='start', $UploadsUpdate=[
    'path'=>wp_upload_dir()['path'].'/prove',
    'url' => wp_upload_dir()['url'].'/prove'
] );

  $id = CreateAttachment( $file );
  SetUploadDir( $action='end' );

  if( $id ){ echo $content = '<p class="gpci-ok-messages">Media inserito correttamente!</p>'; }
}
else{ echo $content = '<p class="gpci-error-messages">Inserisci un file oppure un url!</p>'; }
  • aggiungere un controllo per limitare i permessi, come if( is_user_logged_in() )
  • cambiare la cartella di destinazione da prove a quella desiderata
  • inserire 2 colonne se si vuole lo stesso layout

Campi del form

Ora inseriamo i 2 blocchi gutenberg campo del form, uno per il file locale e uno per l'url:

File

  • nome: media-local
  • id: media-local
  • label: Media locale
  • tag: input
  • type: file

Url

  • nome: media-url
  • id: media-url
  • label: Oppure un url
  • tag: input
  • type: url

Submit

Infine inseriamo il blocco gutenberg gpci/button per effettuare il submit del form:

  • type: submit