Plugin per taggare (aggiungere una classe a?) immagini allegate a un articolo?
Sto cercando un plugin che permetta a un utente di taggare immagini allegate a un articolo. Il mio obiettivo è far sì che venga aggiunta una classe al tag <img> in modo da poter (si spera) creare diversi rotatori di immagini jQuery all'interno di quell'articolo, ciascuno utilizzando immagini con un tag/classe diversa.
Modifica con maggiori dettagli: Ho trovato un plugin chiamato Media Tags, ma non credo che realizzi direttamente ciò che desidero. Aggiunge una tassonomia agli elementi multimediali, e questi possono poi essere visualizzati sul sito (attraverso un tag template o uno shortcode) in base al loro 'tag media'. Il mio obiettivo finale è rendere possibile per la persona che aggiorna il sito (un cliente senza alcuna conoscenza precedente di WordPress) inserire facilmente diverse immagini in un articolo, 'taggare' queste immagini, e far sì che vengano visualizzate in rotatori jQuery separati all'interno dell'articolo, in base al tag assegnato. La mia idea iniziale è che il modo migliore per farlo sia rendere semplice e intuitivo l'aggiunta di una classe ai tag <img>, ma sono aperto ad altri suggerimenti.
Sono consapevole che le classi possano essere aggiunte a un'immagine già allegata accedendo alla schermata Modifica immagine > Impostazioni avanzate
, ma non sono sicuro di quanto sia intuitivo, e ovviamente preferirei che la classe/tag venga scelta da una lista, per minimizzare gli errori.

register_taxonomy_for_object_type('post_tag', 'attachment');
dovrebbe funzionare. Penso che potresti farlo anche dal file functions.php del tuo tema.
Modifica: ok, prova questo (salva come attachmenttags/attachmenttags.php nella cartella dei plugin e assicurati che WordPress possa leggerlo, poi attivalo nel gestore dei plugin):
/*
Plugin Name: AttachmentTags
Description: Abilita i tag per gli allegati
Author: Wyrfel <andre@wyrfel.com>
Version: 0.1
*/
if (!class_exists('AttachmentTags') {
class AttachmentTags {
function AttachmentTags() {
add_action('admin_init', array(&$this, 'admin_init'));
add_filter('wp_get_attachment_image_attributes', array(&$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', array('fields' => 'names'));
if (!empty($tags)) foreach ($tags as $tag) {
$attr['class'] .= ' '.$tag; //wp sanitizza successivamente, quindi non è necessario farlo qui
}
return $attr;
}
}
$AttachmentTags = new AttachmentTags();
}
BTW: Questo crea anche il campo per i tag nel popup di aggiunta/modifica immagine quando modifichi un post/pagina.
Modificato ancora, ora dovrebbe anche inserire le classi ogni volta che usi get_the_post_thumbnail() nel tuo tema.

Cosa dovrebbe risultare da questo? Ho provato quel codice, ma non vedo alcun cambiamento.

C'è del codice nella funzione che crea l'interfaccia dell'editor dei media (che appare se clicchi su un allegato nella tua libreria) che verifica le tassonomie disponibili per gli allegati e dovrebbe creare un campo per ogni tassonomia disponibile. Se quanto sopra non funziona, ho o un errore lì dentro (forse tag invece di post_tag?) o WP lo ignora ancora. Lo stai chiamando dall'hook 'init' o 'admin_init'?

L'ho appena testato, funziona sicuramente come detto sopra se lo esegui dal callback di 'admin_init'. In realtà, è possibile che se fai questo dal functions.php del tuo tema, questo non venga chiamato affatto nell'area di amministrazione.

Ho provato a salvarlo come plugin come mi hai suggerito, ma ancora nessun risultato. WP riesce a vederlo, ma restituisce un errore quando provo ad attivarlo:
Parse error: syntax error, unexpected '{' on line 9
Non è l'unico errore di sintassi però, e non sono sicuro di come sistemarli tutti.

Ti consiglio di utilizzare il plugin Attachments. Questo aggiunge un piccolo meta box nella parte inferiore di un articolo, dove l'utente può facilmente aggiungere immagini dalla libreria o caricarne di nuove. Se usi add_image_size puoi aggiungere il supporto per qualsiasi dimensione richiesta dal tuo tema. Possono anche riordinare le immagini tramite drag and drop e aggiungere metadati come didascalia e testo alternativo.
Puoi integrarlo nel tuo tema in modo molto semplice, le immagini avranno sempre la dimensione corretta e puoi poi aggiungere qualcosa come jQuery cycle per inserire immagini rotanti in ogni articolo.
