✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Laadige failid WordPressis programmeeritult üles

18

Hiljuti töötasin projektiga, kus tahtsime pilte kohandatud kausta üles laadida. Me ei soovi kasutada vaikeprogrammi WordPress üleslaadimiste struktuuri, kus kõik teie pildid salvestatakse aasta-kuu vormingus. Selle asemel tahtsime luua kataloogi ‘uploads’ oma kausta ja sinna pilte salvestada. See nõuab, et kirjutaksin programmi, mis saaks faile HTML-vormi kaudu üles laadida.

Selles artiklis uurime, kuidas faile WordPressis programmiliselt üles laadida. Näitan teile selle ülesande täitmiseks kahte võimalust. Üks on sisseehitatud funktsiooni wp_upload_bits() kaudu ja teine meetod move_uploaded_file ().

Laadige failid WordPressis programmeeritult üles

Alustamiseks looge faili sisestamise ja esitamise nupuga lihtne HTML-vorm. Selle vormi saate paigutada oma lehele või postitusele.

<h2>Upload a File</h2>
<form method="post" enctype="multipart/form-data">
    <input type="file" name="file" required />
    <input type="submit" name="upload_file" value="Upload" />
</form>

Laadige fail üles kasutades wp_upload_bits

Funktsiooni kasutades wp_upload_bits()salvestatakse teie fail üleslaadimiste kataloogi. Leiate oma faili jooksva aasta kuu kaustast (nt wp-content / uploads / 2020-> 03-> your_file). See funktsioon ei teisalda sirvitud faili üleslaadimiskausta. Selle asemel loob see uue faili failide sisuga. Selle meetodi kasutamine on lihtne. functions.phpLisage oma faili kood järgmiselt.

<?php
function fn_upload_file() {
    if (isset($_POST['upload_file'])) {
        $upload = wp_upload_bits($_FILES['file']['name'], null, $_FILES['file']['tmp_name']);
        // save into database $upload['url]
    }
}
add_action('init', 'fn_upload_file');

$uploadMuutuja printimisel saate massiivi, mis sisaldab üleslaaditud faili kataloogi ja URL-i teed. Kasutaja saab URL-i tee andmebaasi salvestada $upload['url].

Laadige fail üles kohandatud kataloogi

Nagu eespool mainitud, wp_upload_bits()salvestatakse failide meetodi abil WordPressi vaikekausta hierarhia. Aga mis siis, kui soovite faile oma kataloogi salvestada?

Sellisel juhul peate oma üleslaaditud kataloogi looma oma kohandatud kausta ja teisaldama faili sellesse kausta. Oletame, et soovite oma failid salvestada kataloogi ‘uploads / product-images’. Allpool olevas koodis loome kausta käitusaja „product-images" ja salvestame failid selle sisse. Selle koodi saate ka functions.phpfaili kirjutada .

function fn_upload_file() {
    if (isset($_POST['upload_file'])) {
        $upload_dir = wp_upload_dir();
 
        if (! empty( $upload_dir['basedir'])) {
            $user_dirname = $upload_dir['basedir'].'/product-images';
            if (! file_exists( $user_dirname)) {
                wp_mkdir_p( $user_dirname );
            }
 
            $filename = wp_unique_filename( $user_dirname, $_FILES['file']['name'] );
            move_uploaded_file($_FILES['file']['tmp_name'], $user_dirname .'/'. $filename);
            // save into database $upload_dir['baseurl'].'/product-images/'.$filename;
        }
    }
}
add_action('init', 'fn_upload_file');

Siin kasutan meetodit wp_unique_filename (), mis annab antud kataloogile ainulaadse failinime.

See selleks! Kõik on seotud sellega, kuidas faile WordPressis programmiliselt üles laadida. Kas kasutate sarnase ülesande jaoks mõnda muud meetodit? Palun jagage kommentaaride jaotises allpool.

seotud artiklid

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem