{"id":24594,"date":"2021-05-18T16:04:00","date_gmt":"2021-05-18T13:04:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24594"},"modified":"2021-10-18T03:12:36","modified_gmt":"2021-10-18T00:12:36","slug":"carica-file-a-livello-di-codice-in-wordpress","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/carica-file-a-livello-di-codice-in-wordpress\/","title":{"rendered":"Carica file a livello di codice in WordPress"},"content":{"rendered":"<p>Di recente, stavo lavorando a un progetto in cui volevamo caricare le immagini nella cartella personalizzata. Non vogliamo utilizzare la struttura di caricamento predefinita di WordPress in cui tutte le tue immagini vengono archiviate in un formato anno-mese. Invece, volevamo creare la nostra cartella all&#8217;interno della directory &quot;uploads&quot; e archiviare le immagini al suo interno. Mi richiede di scrivere un programma in grado di caricare file tramite il modulo HTML.<\/p>\n<p>In questo articolo, studiamo come caricare file a livello di codice in WordPress. Ti mostrer\u00f2 due modi per eseguire questo compito. Uno \u00e8 tramite la funzione <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_upload_bits\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_upload_bits()<\/a> incorporata e un altro utilizza il metodo <a href=\"https:\/\/www.php.net\/manual\/en\/function.move-uploaded-file.php\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">move_uploaded_file()<\/a>.<\/p>\n<h3>Carica file a livello di codice in WordPress<\/h3>\n<p>Per iniziare, crea un semplice modulo HTML con l&#8217;input del file e il pulsante di invio. Puoi inserire questo modulo nella tua pagina o nel tuo post.<\/p>\n<pre><code>&lt;h2&gt;Upload a File&lt;\/h2&gt;\n&lt;form method=\"post\" enctype=\"multipart\/form-data\"&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"file\" name=\"file\" required \/&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;input type=\"submit\" name=\"upload_file\" value=\"Upload\" \/&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<h4>Carica il file usando wp_upload_bits<\/h4>\n<p>Usando la <code>wp_upload_bits()<\/code>funzione, il tuo file verr\u00e0 archiviato nella directory dei caricamenti. Troverai il tuo file all&#8217;interno della cartella del mese dell&#8217;anno corrente (ad es. wp-content\/uploads\/2020-&gt;03-&gt;your_file). Questa funzione non sposter\u00e0 un file sfogliato nella cartella di caricamento. Invece, creer\u00e0 un nuovo file con il contenuto dei file. L&#8217;uso di questo metodo \u00e8 semplice. Nel tuo <code>functions.php<\/code>file, aggiungi il codice come segue.<\/p>\n<pre><code>&lt;?php\nfunction fn_upload_file() {\n\u00a0\u00a0\u00a0\u00a0if (isset($_POST['upload_file'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload = wp_upload_bits($_FILES['file']['name'], null, $_FILES['file']['tmp_name']);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ save into database $upload['url]\n\u00a0\u00a0\u00a0\u00a0}\n}\nadd_action('init', 'fn_upload_file');<\/code><\/pre>\n<p>Se stampi la <code>$upload<\/code>variabile, otterrai un array che contiene la directory e il percorso URL del file caricato. L&#8217;utente pu\u00f2 salvare il percorso dell&#8217;URL nel database utilizzando <code>$upload['url]<\/code>.<\/p>\n<h4>Carica file nella directory personalizzata<\/h4>\n<p>Come accennato in precedenza, utilizzando il <code>wp_upload_bits()<\/code>metodo i tuoi file verranno archiviati utilizzando la gerarchia di cartelle predefinita di WordPress. Ma cosa succede se si desidera archiviare i file all&#8217;interno della propria directory?<\/p>\n<p>In tal caso, devi creare la tua cartella personalizzata nella directory &quot;uploads&quot; e spostare il file in quella cartella. Supponiamo che tu voglia archiviare i tuoi file nella directory &quot;uploads\/product-images&quot;. Nel codice seguente, creeremo il runtime della cartella &quot;product-images&quot; e memorizzeremo i file al suo interno. Questo codice puoi anche scrivere nel <code>functions.php<\/code>file.<\/p>\n<pre><code>function fn_upload_file() {\n\u00a0\u00a0\u00a0\u00a0if (isset($_POST['upload_file'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$upload_dir = wp_upload_dir();\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! empty( $upload_dir['basedir'])) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$user_dirname = $upload_dir['basedir'].'\/product-images';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (! file_exists( $user_dirname)) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0wp_mkdir_p( $user_dirname );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$filename = wp_unique_filename( $user_dirname, $_FILES['file']['name'] );\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0move_uploaded_file($_FILES['file']['tmp_name'], $user_dirname .'\/'. $filename);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ save into database $upload_dir['baseurl'].'\/product-images\/'.$filename;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}\nadd_action('init', 'fn_upload_file');<\/code><\/pre>\n<p>Qui, sto usando il metodo <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_unique_filename\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wp_unique_filename()<\/a> che fornisce il nome file univoco per la directory specificata.<\/p>\n<p>Questo \u00e8 tutto! Si tratta di come caricare file a livello di codice in WordPress. Stai usando qualche altro metodo per un compito simile? Si prega di condividere nella sezione commenti qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-utilizzare-il-metodo-wp_get_image_editor-per-ridimensionare-le-immagini-in-wordpress\/\" title=\"Come utilizzare il metodo wp_get_image_editor per ridimensionare le immagini in WordPress\">Come utilizzare il metodo wp_get_image_editor per ridimensionare le immagini in WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-registrare-le-dimensioni-delle-immagini-personalizzate-e-ridimensionare-le-immagini-esistenti-in-wordpress\/\" title=\"Come registrare le dimensioni delle immagini personalizzate e ridimensionare le immagini esistenti in WordPress\">Come registrare le dimensioni delle immagini personalizzate e ridimensionare le immagini esistenti in WordPress<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-impostare-l-immagine-in-primo-piano-a-livello-di-codice-in-wordpress\/\" title=\"Come impostare l&#039;immagine in primo piano a livello di codice in WordPress\">Come impostare l&#8217;immagine in primo piano a livello di codice in WordPress<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come gestire l&#8217;attivit\u00e0 di caricamento dei file di WordPress? In questo articolo spieghiamo come caricare file programmaticamente in WordPress. Ti mostrer\u00f2 come spostare i file<\/p>\n","protected":false},"author":1,"featured_media":21646,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[415,611],"tags":[846],"class_list":["post-24594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-varie","category-uncategorized-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24594"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24594\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21646"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}