web-dev-qa-db-fra.com

Comment puis-je remplir automatiquement les titres de la médiathèque?

Ma médiathèque contient des centaines d’images, dont la plupart n’ont pas de titre. Dans la médiathèque, le message "(pas de titre)" est affiché le long de ces images.

Comme j'ai généralement une image par publication, je voudrais renseigner automatiquement les titres de la bibliothèque en saisissant le nom de publication associé. Cela ne me dérange pas si j'écrase certains titres existants.

Est-ce que quelqu'un sait d'un hack qui va faire ça?

J'ai trouvé des plugins, tels que "Media Rename" et "Rename Media" et "SEO friendly images", mais ils servent généralement à renommer les fichiers images réels ou à créer des balises de titre HTML directement dans le code HTML (à la volée).

Je souhaite créer des titres dans la médiathèque Wordpress afin que je ne voie pas le message (pas de titre). Ces données de titre me permettront également de rechercher des images dans la bibliothèque - bien que, pour tous ceux qui ont le même problème, j’ai trouvé un plugin appelé "Recherche de média" qui permet de rechercher des images dans les publications associées: http://wordpress.org/extend/plugins/media-library-search/

1
Michael Heraghty

Si vous pouvez faire du SQL manuellement, alors essayez:

 UPDATE wp_posts p INNER JOIN wp_posts q ON p.post_type = 'pièce jointe' ET p.post_mime_type LIKE 'image /%' ET (p.post_title IS NULL OR LENGTH (p.post_title) = 0) ET p.post_parent = q.ID SET p.post_title = q.post_title; 

Si vous avez besoin d'une fonction PHP, essayez alors:

 function set_image_without_title_to_post_title () {
 global $ wpdb; 
 
 $ sql = sprintf ("UPDATE% sp INNER JOIN% sq" 
. "ON p.post_type = 'attachment' ET p.post_mime_type LIKE 'image/%%' "
." AND (titre.post IS NULL OR LENGTH (titre.post_title) = 0) "
." ET p.post_parent = q.ID "
." SET p.post_title = q.post_title ", 
 $ wpdb-> posts, $ wpdb-> posts); 
 
 $ wpdb-> get_results ($ sql, ARRAY_A); 
} 

AVERTISSEMENT: dans la mesure où cela modifiera considérablement votre base de données, je commencerais par effectuer une sauvegarde! J'ai fait un petit test et il semble être correct, mais USE AT VOTRE PROPRE RISQUE!

2
user27457