D'accord, j'ai regardé et lu pas mal de forums sur ce problème et je n'arrive pas à trouver de réponse.
Je télécharge des milliers de photos pour un photographe et utilise le shortcode WP Gallery. Je ne veux pas entrer manuellement des légendes pour chaque vignette, je veux que le titre de l'image remplisse automatiquement cette zone.
Comment modifier la sortie de la galerie pour effectuer ce changement?
modifier voici un lien vers une galerie que j'ai en haut. Les titres des images sont actuellement saisis manuellement dans le champ de légende. http://maryannerussell.com/afsp/
La façon rapide et sale, pour définir le titre comme légende, serait d'utiliser SQL (non testé):
UPDATE wp_posts
SET post_excerpt = post_title
WHERE
post_excerpt = ''
AND post_type = 'attachment'
AND post_status = 'inherit'
AND post_mime_type = 'image/jpeg'
AND ID = 123
Ici, nous ciblons l'image jpeg avec l'ID 123
et une légende vide.
Remarque: J'ai ajouté les
ID = 123
etpost_mime_type = 'image/jpeg'
en tant que restrictions supplémentaires que vous pouvez ajuster pendant les tests. Pensez également à ajuster le nom de la tablewp_posts
.
AVERTISSEMENT: Sauvegardez votre base de données avant de tester!
Si vous cherchez un moyen dynamique, alors ma réponse ici pourrait être liée.
Il vous sera peut-être également possible d’ajouter la légende lors du téléchargement de vos images:
/**
* Automatically set the title as caption, when uploading an attachment.
*
* @see https://wordpress.stackexchange.com/a/188708/26350
*/
add_filter( 'wp_insert_attachment_data', function( $data, $postarr )
{
// Let's target only the uploading process and not the updating of attachments:
if( empty( $data['post_excerpt'] ) && isset( $postarr['ID'] ) && 0 == $postarr['ID'] )
$data['post_excerpt'] = $data['post_title'];
return $data;
}, 10, 2 );
Il existe un filtre appelé post_gallery
qui vous permet de créer votre propre code HTML pour votre galerie. Vous pouvez copier et éditer le code depuis la fonction gallery_shortcode
(qui crée le code de la galerie?) Et l'utiliser dans le filtre, avec les titres inclus /