✅ Noticias, temas, complementos de WEB y WordPress. Aquí compartimos consejos y las mejores soluciones para sitios web.

Cargar archivos mediante programación en WordPress

37

Recientemente, estaba trabajando en un proyecto en el que queríamos cargar imágenes en la carpeta personalizada. No queremos usar la estructura de carga predeterminada de WordPress donde todas sus imágenes se almacenan en un formato de año-mes. En cambio, queríamos crear nuestra propia carpeta dentro del directorio ‘uploads’ y almacenar imágenes en él. Requiere que escriba un programa que pueda cargar archivos a través del formulario HTML.

En este artículo, estudiamos cómo cargar archivos mediante programación en WordPress. Te mostraré dos formas de realizar esta tarea. Uno es a través de la función wp_upload_bits() incorporada y otro está usando el método move_upload_file ().

Cargar archivos mediante programación en WordPress

Para comenzar, cree un formulario HTML simple con entrada de archivo y botón de envío. Puede colocar este formulario en su página o publicación.

<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>

Cargar archivo usando wp_upload_bits

Usando la wp_upload_bits()función, su archivo se almacenará dentro del directorio de cargas. Encontrará su archivo dentro de la carpeta del mes del año actual (por ejemplo, wp-content / uploads / 2020-> 03-> your_file). Esta función no moverá un archivo examinado a la carpeta de carga. En su lugar, creará un nuevo archivo con el contenido de los archivos. El uso de este método es sencillo. En su functions.phparchivo, agregue el código de la siguiente manera.

<?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');

Si imprime la $uploadvariable, obtendrá una matriz que contiene el directorio y la ruta URL del archivo cargado. El usuario puede guardar la ruta URL en la base de datos usando $upload['url].

Cargar archivo en el directorio personalizado

Como se mencionó anteriormente, usando el wp_upload_bits()método, sus archivos se almacenarán usando la jerarquía de carpetas predeterminada de WordPress. Pero, ¿qué pasa si desea almacenar archivos dentro de su propio directorio?

En ese caso, debe crear su carpeta personalizada en el directorio ‘uploads’ y mover su archivo a esa carpeta. Supongamos que desea almacenar sus archivos dentro del directorio ‘uploads / product-images’. En el siguiente código, crearemos el tiempo de ejecución de la carpeta ‘product-images’ y almacenaremos los archivos en su interior. Este código también se puede escribir en el functions.phparchivo.

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');

Aquí, estoy usando el método wp_unique_filename () que da el nombre de archivo único para el directorio dado.

¡Eso es! Se trata de cómo cargar archivos mediante programación en WordPress. ¿Está utilizando algún otro método para una tarea similar? Comparte en la sección de comentarios a continuación.

Artículos relacionados

Fuente de grabación: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More