Cambiar nombre de imagen
-
En estos momentos, cuando subo una imagen hago lo siguiente:
1) Copio el título del post y cambio el nombre de la imagen con ese valor, es decir, nombre-imagen = título-post
2) Subo la imagen a una entrada.
3) En el momento de subir la imagen actúa el código siguiente para cambiar el nombre del archivo a una versión segura y sanitizada
/** * Cambia el nombre del archivo a una versión segura y sanitizada. * * @param string $filename Nombre del archivo una vez pasados los primeros filtros de WP. * @param string $filename_raw Nombre del archivo "en crudo" al subirse. * * @return string * * @since 1.2.0 */ function cl_nombre_archivo( $filename, $filename_raw ) { $info = pathinfo( $filename_raw ); $nombre_archivo = $info['filename']; if ( ! empty( $info['extension'] ) ) { $ext = $info['extension']; } else { $ext = ''; } $nombre_archivo = remove_accents( $nombre_archivo ); $nombre_archivo = str_replace( '_', '-', $nombre_archivo ); $nombre_archivo = str_replace( '%20', '-', $nombre_archivo ); $nombre_archivo = sanitize_title( $nombre_archivo ); $nombre_archivo = $nombre_archivo . '.' . $ext; return $nombre_archivo; } add_filter( 'sanitize_file_name', 'cl_nombre_archivo', 10, 2 );
Me gustaría automatizar el primer paso, es decir que, sea el que sea el nombre de la imagen, al subirla se cambie por el título del post. Supongo que ese cambio habrá que hacerlo antes de WordPress pase los correspondientes filtros.
*************************************
De momento, he encontrado esta solución pero tengo la duda sobre si es la más acertada:
add_filter( 'wp_handle_upload_prefilter', 'custom_upload_filter' ); function custom_upload_filter( $file ) { if ( ! isset( $_REQUEST['post_id'] ) ) { return $file; } $id = intval( $_REQUEST['post_id'] ); $parent_post = get_post( $id ); $post_name = $parent_post->post_title; $filetype = wp_check_filetype($file['name']); $ext = $filetype["ext"]; if ( $ext == 'jpg' || $ext == 'gif' ) : $file['name'] = $post_name . '.' . $ext; return $file; else : return $file; endif; }
- Este debate fue modificado hace 3 años, 7 meses por .
- Este debate fue modificado hace 3 años, 7 meses por .
- Este debate fue modificado hace 3 años, 7 meses por .
- Este debate fue modificado hace 3 años, 7 meses por .
- Este debate fue modificado hace 3 años, 7 meses por .
La página con la que necesito ayuda: [accede para ver el enlace]
- El debate ‘Cambiar nombre de imagen’ está cerrado a nuevas respuestas.