En este tutorial, aprenderemos cómo cambiar el directorio de carga de archivos para un campo de carga de archivos específico creado con Advanced Custom Fields (ACF) en WordPress. Esto es útil si deseas organizar tus archivos cargados en un directorio personalizado en lugar del directorio de carga predeterminado.
Paso 1: Preparación del entorno
Asegúrate de tener instalado WordPress y el plugin Advanced Custom Fields en tu sitio. Además, debes tener un campo de carga de archivos creado en ACF. Para este tutorial, asumiremos que tienes un campo de carga de archivos llamado «imagenprot».
Paso 2: Código personalizado
Ahora, necesitamos agregar algo de código personalizado a nuestro tema de WordPress para cambiar el directorio de carga de archivos. Abre el archivo functions.php de tu tema y agrega el siguiente código:
function acf_upload_dir_prefilter() { add_filter('upload_dir', 'acf_upload_dir'); } add_filter('acf/upload_prefilter/name=imagenprot', 'acf_upload_dir_prefilter', 10, 3 ); function acf_upload_dir($param) { $custom_dir = '/uploads/imagenprot'; $param['path'] = WP_CONTENT_DIR . $custom_dir; $param['url'] = WP_CONTENT_URL . $custom_dir; return $param; }
Este código consta de tres partes:
- La función
acf_upload_dir_prefilter
agrega un filtro al eventoupload_dir
, que se activa cuando se carga un archivo. Este filtro asegura que el cambio de directorio se aplique solo al elemento que se está subiendo. - Luego, utilizamos
add_filter
para enganchar la funciónacf_upload_dir_prefilter
al evento de carga del campo de ACF específico llamado «imagenprot». - La función
acf_upload_dir
cambia el directorio de carga para el campo de ACF. Aquí puedes especificar el directorio personalizado donde deseas que se carguen los archivos. En este ejemplo, se usa'/uploads/imagenprot'
, pero puedes personalizarlo según tus necesidades.
Paso 3: Guardar y probar
Guarda los cambios en el archivo functions.php y sube el código a tu sitio de WordPress. Ahora, cuando cargues un archivo en el campo de carga de archivos «imagenprot» en ACF, se colocará en el directorio personalizado que especificaste en el código.
¡Eso es todo! Has aprendido cómo cambiar el directorio de carga de archivos para un campo de carga de archivos específico en WordPress utilizando Advanced Custom Fields y un poco de código personalizado.