Renombrar imágenes antiguas cargadas que contengan caracteres franceses acentuados (no durante la carga)

2

Necesito actualizar más de 1,000 imágenes que tienen caracteres franceses en ellas.

Lo siguiente funcionó para una publicación de prueba:

  
  • Creó una copia de la imagen sin los caracteres FR
  •   
  • Nombre del archivo actualizado dentro del cuerpo de la publicación del blog usando wp_update_post (función WP)
  •   
  • Se actualizaron los 'metadatos adjuntos' utilizando wp_update_attachment_metadata (función WP)
  •   
  • Se actualizó el 'archivo adjunto' usando update_attached_file (función WP)
  •   

Parece que puedo omitir el:

  
  • Se actualizaron los 'metadatos adjuntos' utilizando wp_update_attachment_metadata (función WP)
  •   
  • Se actualizó el 'archivo adjunto' usando update_attached_file (función WP)
  •   

y simplemente cambie el contenido de la publicación para que haga referencia a las nuevas imágenes utilizando el siguiente código:

// Array used to update the post
$my_post = array(
  'ID' => $post_ID,
  'post_content' => $content_with_updated_file_name
);

// Update post content using the array above
wp_update_post( $my_post, true );
if (is_wp_error($post_ID)) {
    $errors = $post_ID->get_error_messages();
    foreach ($errors as $error) {
        echo $error;
    }
}

¿Es la forma correcta o debo seguir actualizando los 'metadatos del archivo adjunto' y el 'archivo adjunto' para cada imagen que cambio de nombre?

    
pregunta Robert Sinclair 01.02.2017 - 16:55

2 respuestas

2

Bueno, todo depende de su caso de uso: ¿se puede cambiar el nombre de forma masiva utilizando expresiones regulares? luego vaya y aplique la misma expresión regular a la base de datos, por ejemplo, utilizando enlace

Si necesita hacerlo manualmente, puede echar un vistazo a enlace

¡Buena suerte!

    
respondido por el Quasel 07.02.2017 - 15:12
2

Supongo que usaste un script para cambiar el nombre de más de 1000 imágenes, así que probablemente podrías aplicar tus mismas reglas a una consulta de actualización de MySQL en las tablas wp_postmeta y wp_posts usando REGEX o una serie de declaraciones REPLACE() .

Puede hacer esto con una herramienta de GUI de SQL, en phpMyAdmin o utilizando WP CLI

Guarda problemas con las funciones de Wordpress.

    
respondido por el Alex Holsgrove 05.02.2017 - 02:05

Lea otras preguntas en las etiquetas