web-dev-qa-db-fra.com

avoir WP La galerie affiche le titre au lieu de la légende

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/

1
Donovan

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 et post_mime_type = 'image/jpeg' en tant que restrictions supplémentaires que vous pouvez ajuster pendant les tests. Pensez également à ajuster le nom de la table wp_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 );    
1
birgire

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 /

0
Manny Fleurmond