web-dev-qa-db-fra.com

Plugin pour taguer (ajouter une classe à?) Des images attachées à un post?

Je cherche un plugin qui permettra à un utilisateur de taguer des images attachées à un message. Mon objectif est d’ajouter une classe à la balise afin de pouvoir (espérons-le) créer ensuite différents rotateurs d’image jQuery au sein de cette publication, chacun utilisant des images avec une balise/classe différente.

Modifier avec plus de détails: j'ai trouvé un plugin appelé Media Tags , mais je ne pense pas que cela (directement) accomplisse ce que je veux. Il ajoute une taxonomie aux éléments multimédias. Les éléments multimédias peuvent ensuite être affichés sur le site (via une balise de modèle ou un code abrégé) en fonction de leur "balise multimédia". Mon but ultime est de permettre à la personne qui met à jour le site (un client n'ayant aucune connaissance préalable de WordPress) d'insérer facilement plusieurs images dans un message, de les "taguer" et de les afficher dans des rotateurs d'image jQuery distincts au sein du même message. poste, en fonction de la balise qui leur est assignée. Ma pensée initiale était que la meilleure façon de le faire était de rendre facile et intuitif l’ajout d’un cours aux balises, mais je suis ouvert à d’autres suggestions.

Je réalise que des classes peuvent être ajoutées à une image déjà attachée en accédant à l'écran Edit Image > Advanced Settings, mais je ne suis pas sûr de son intuition et je préférerais bien sûr que la classe/balise soit choisie dans une liste, afin de minimiser les erreurs.

2
Travis Northcutt

register_taxonomy_for_object_type('post_tag', 'attachment'); devrait faire l'affaire. Je pense que vous pourriez même le faire à partir de vos thèmes functions.php.

Edit: ok, essayez ceci (enregistrez en tant que attachmenttags/attachmenttags.php dans votre dossier plugins et assurez-vous que WP peut le lire, puis activez-le dans le gestionnaire de plugins):

/*
Plugin Name: AttachmentTags
Description: enables tagging attachments
Author: Wyrfel <[email protected]>
Version: 0.1
*/

if (!class_exists('AttachmentTags') {
    class AttachmentTags {
        function AttachmentTags() {
            add_action('admin_init', (&$this, 'admin_init'));
            add_filter('wp_get_attachment_image_attributes', (&$this, 'add_tag_classes'), 10, 2);
        }

        function admin_init() {
            register_taxonomy_for_object_type('post_tag', 'attachment');
        }

        function add_tag_classes($attr, $attachment) {
            $tags = wp_get_object_terms($attachment->ID, 'post_tag', 'names');
            if (!empty($tags)) foreach ($tags as $tag) {
                $attr['class'] .= ' '.$tag; //wp sanitizes afterwards, so we don't need to
            }
            return $attr;
        }

    }
    $AttachmentTags = new AttachmentTags();
}

BTW: Ceci crée également le champ étiquettes de publication dans la fenêtre contextuelle ajouter/modifier une image lors de la modification de la publication/page réelle.
Edité à nouveau, devrait maintenant également injecter les classes à chaque fois que vous utilisez get_the_post_thumbnail () dans votre thème.

1
wyrfel

Je vous recommande d'utiliser le plugin Attachments . Cela ajoute une petite boîte méta au bas d'un article, où l'utilisateur peut facilement ajouter des images de la bibliothèque ou télécharger de nouvelles images. Si vous utilisez add_image_size , vous pouvez prendre en charge toutes les tailles dont votre thème a besoin. Ils peuvent également réorganiser les images par glisser-déposer et ajouter des métadonnées telles que la légende et le texte alternatif.

Vous pouvez l’intégrer très facilement dans votre thème, les images auront toujours la bonne taille et vous pourrez ensuite ajouter quelque chose comme cycle jQuery pour ajouter des images tournantes sur chaque poster.

1
Tom