Get_attached_file wordpress

WordPress obtiene todos los archivos adjuntos

Aprenda a descargar muchos archivos generando automáticamente archivos ZIP. El archivo ZIP es un archivo comprimido de uno o más archivos. Comprimir y archivar estos archivos de esta manera permite una transferencia más rápida y un almacenamiento más fácil.

Si hace que varios archivos del sitio web sean descargables, también puede preparar un archivo ZIP que contenga todos los elementos. Dicho archivo ZIP es generado dinámicamente por PHP. Gracias a esto, no tenemos que pedir al cliente que añada un archivo ZIP por separado, porque podemos generarlo automáticamente. Esto puede ser muy práctico, especialmente cuando un cliente selecciona archivos particulares que le gustaría descargar. De este modo, se preparará el paquete adecuado cada vez.

Por último, cuando tenemos todos los recursos necesarios, podemos empezar a trabajar con el código. En mi caso, tengo que seleccionar varios archivos mediante casillas de verificación. A continuación, el usuario debe hacer clic en el botón «Descargar». Sin embargo, también tengo que permitir a los usuarios descargar un solo archivo, haciendo clic en el nombre del archivo. Pero vamos a centrarnos en la opción de descarga de varios archivos. En primer lugar, necesitamos almacenar todos los enlaces de los que queremos descargar archivos en un array. En realidad, podemos recorrer el DOM y encontrar todas las casillas de verificación marcadas junto con la búsqueda de los elementos hermanos de anclaje para obtener las URL. Déjame mostrarte una versión más simple:

Wp_get_original_image_path

WordPress Obtiene la ruta o URL de un archivo de un plugin de WordPress En este fragmento de código vamos a ver cómo se obtiene la ruta completa de un archivo de un plugin. Cuando está desarrollando un plugin puede almacenar varios tipos de archivos en él, como archivos CSS o JS, donde necesita acceder a la URL completa del archivo, o podría tener otro archivo PHP que quiere incluir llamando a la ruta completa del directorio. Como el directorio del plugin está dentro de la carpeta wp-content la ruta al directorio podría ser bastante grande.

El problema que tenemos al construir un plugin para WordPress es que hay que asumir que este plugin puede ser usado en cualquier sitio en cualquier instalación de WordPress. Debido a que puede ser utilizado en cualquier sitio no puede incluir su dominio dentro de la función wp_enqueue_style. Como un sitio de WordPress puede cambiar la ubicación del directorio wp-content con una constante wp-config no puede asumir que wp-content se encuentra fuera de la raíz del dominio. Para incluirlo correctamente desde un archivo dentro de la carpeta del frontend debe utilizar una función de WordPress de plugin_dir_url(), que devolverá la URL completa del directorio actual.

Obtener id de imagen por url wordpress

Al investigar más a fondo descubrimos que a las entradas de la tabla wp_post para estas imágenes les faltaban los datos de post_mime_type. Un tipo MIME es una etiqueta utilizada para identificar un tipo de datos y sin esta información ciertas partes de WordPress no saben cómo manejar el archivo.

Además de la entrada en la tabla wp_post, cada imagen contiene información sobre sus diferentes tamaños de miniaturas en un campo _wp_attachment_metadata en la tabla wp_postmeta. Hemos descubierto que en este campo también faltaba información sobre los tipos MIME de estas imágenes.

Para solucionar este problema, basta con añadir el tipo MIME al campo post_mime_type de la imagen en la tabla wp_post. Una vez hecho esto, puede regenerar las miniaturas de la imagen y esto se encargará de la información del tipo MIME que falta en la tabla wp_postmeta.

Puedes añadir esta información manualmente en la base de datos, o puedes programar un bucle a través de tus imágenes y asignarlas en bloque. Si haces esto, asegúrate de hacer una copia de seguridad de tu base de datos y de tu sitio web. Dicho esto, aquí hay un par de funciones PHP de WordPress que pueden ayudarte:

Wp_get_attachment_metadata

La Plataforma VIP almacena todos los medios subidos en un almacén de objetos distribuido globalmente llamado Sistema de Archivos VIP. Esto se integra perfectamente con su aplicación de WordPress y todas las operaciones comunes, incluyendo la carga, el recorte, la edición y la eliminación, funcionan como se espera.

Todas las imágenes subidas al VIP File System pueden hacer uso de la API de Photon, que permite el cambio de tamaño dinámico y otras manipulaciones (recorte, letterboxing, filtros, etc.). Dado que todos los tamaños de las imágenes se crean sobre la marcha, las cargas son significativamente más rápidas y los cambios en los tamaños de las imágenes son mucho más fáciles (no es necesario ejecutar scripts para regenerar los archivos).

Para interacciones más complejas, hemos integrado una envoltura de flujo PHP personalizada, que permite que la mayoría de las funciones del sistema de archivos (por ejemplo, fopen, fwrite, file_put_contents, etc.) funcionen con las cargas de medios. Esto significa que la mayoría de los plugins que interactúan con las cargas de medios funcionarán en la Plataforma VIP sin ninguna modificación.