Question

En ce qui concerne mon précédent question sur les sous-titres de shortcode , il ne me semble pas que le texte même d'un sous-titre est stockée nulle part ailleurs que dans le contenu du message lui-même dans le shortcode.

J'aurais pensé que wp_get_attachment_metadata stockerait les informations pour une pièce jointe, mais il ne fonctionne pas.

Ai-je tort? Ou ne pas stocker WordPress la légende réelle nulle part?

Était-ce utile?

La solution

Oui, il stocke la légende dans son propre place dans le DB. Je ne peux pas citer l'emplacement exact mais dans Wordpress, « Pièces jointes » sont un type de poste et il stocke chaque pièce jointe comme un poste. Pour un type de poste d'attache, il traite la Légende de l'image comme the_excerpt la description de l'image comme the_content et le titre d'image comme ... the_title.

Autres conseils

$post_id est la sortie afficherons actuelle, ce code toutes les pièces jointes d'un poste, et leurs titres descriptions et légendes

$q = new WP_Query( array(
    'post_parent' => $post_id,
    'post_type' => 'attachment'
));
if($q->have_posts()){
    while($q->have_posts()){
        $q->the_post();
        ?>
        <h3><?php the_title(); ?></h3>
        <?php

        if ( wp_attachment_is_image( $post->id ) ) {
            $att_image = wp_get_attachment_image_src( $post->id, "large");
            ?>
<img src="<?php echo $att_image[0];?>" width="<?php echo $att_image[1];?>" height="<?php echo $att_image[2];?>"  class="attachment-large" alt="<?php $post->post_excerpt; ?>" />
            <?php
        }

        // caption
        the_excerpt();

        // description
        the_content();
    }
}
wp_reset_query();

Les pièces jointes sont tous les enfants du poste, ils sont attachés, et vous pouvez l'utiliser pour faire votre propre code de la galerie personnalisée. Ils ont aussi beaucoup de données dans leurs champs personnalisés, tels que les dimensions de l'image, les données EXIF, etc. Ils peuvent même être commenté.

Vous pouvez prendre le code de la boucle interne et le placer dans attachment.php dans votre thème, il suffit de double vérifier que je ne l'ai pas fait de fautes de frappe de syntaxe avant de le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top