Plugin para etiquetar (añadir una clase a) imágenes adjuntas a una publicación
Estoy buscando un plugin que permita a un usuario etiquetar imágenes adjuntas a una publicación. Mi objetivo es que se añada una clase a la etiqueta <img> para poder (con suerte) crear diferentes rotadores de imágenes jQuery dentro de esa publicación, cada uno usando imágenes con una etiqueta/clase diferente.
Edición con más detalle: Encontré un plugin llamado Media Tags, pero no creo que esto (directamente) logre lo que quiero. Añade una taxonomía a los elementos multimedia, y luego estos elementos se pueden mostrar en el sitio (a través de una etiqueta de plantilla o un shortcode) según su 'etiqueta multimedia'. Mi objetivo final es hacer posible que la persona que actualiza el sitio (un cliente sin conocimientos previos de WordPress) pueda insertar fácilmente varias imágenes en una publicación, 'etiquetarlas', y que esas imágenes se muestren en rotadores jQuery separados dentro de la publicación, según la etiqueta asignada. Mi idea inicial es que la mejor manera de hacer esto es facilitar que se añada una clase a las etiquetas <img> de forma intuitiva, pero estoy abierto a otras sugerencias.
Sé que se pueden añadir clases a una imagen ya adjunta accediendo a la pantalla Editar Imagen > Configuración Avanzada
, pero no estoy seguro de lo intuitivo que será, y por supuesto preferiría que la clase/etiqueta se elija de una lista, para minimizar errores.

register_taxonomy_for_object_type('post_tag', 'attachment');
debería funcionar. Creo que incluso podrías hacer esto desde el functions.php de tu tema.
Edición: ok, prueba esto (guárdalo como attachmenttags/attachmenttags.php en tu carpeta de plugins y asegúrate de que WordPress pueda leerlo, luego actívalo en el administrador de plugins):
/*
Plugin Name: EtiquetasParaAdjuntos
Description: Permite etiquetar archivos adjuntos
Author: Wyrfel <andre@wyrfel.com>
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; // WordPress sanitiza después, así que no necesitamos hacerlo
}
return $attr;
}
}
$AttachmentTags = new AttachmentTags();
}
Por cierto: Esto también crea el campo de etiquetas en la ventana emergente de agregar/editar imagen cuando editas la entrada/página actual.
Editado nuevamente, ahora también debería inyectar las clases cada vez que uses get_the_post_thumbnail() en tu tema.

¿Qué debería resultar esto? Probé ese código, pero no veo ningún cambio.

Hay código en la función que crea la interfaz del editor de medios (que aparece si haces clic en un adjunto en tu biblioteca) que verifica las taxonomías disponibles para adjuntos y debería crear un campo para cada taxonomía disponible. Si lo anterior no funciona, tengo un error allí (¿tal vez tag en lugar de post_tag?) o WP todavía lo ignora. ¿Lo estás llamando desde dentro del hook 'init' o 'admin_init'?

Acabo de probarlo, definitivamente funciona como se indicó anteriormente si lo ejecutas desde dentro de tu callback 'admin_init'. En realidad, es posible que si haces esto desde dentro del functions.php de tus temas, eso no se llame en absoluto en el administrador.

Intenté guardar esto como un plugin como sugeriste, pero todavía no funciona. WP puede verlo, pero muestra un error al intentar activarlo:
Parse error: syntax error, unexpected '{' on line 9
Ese no es el único error de sintaxis, y no estoy seguro de cómo solucionarlos todos.

Te recomiendo que utilices el plugin Attachments. Este añade una pequeña meta caja en la parte inferior de una entrada, donde el usuario puede añadir fácilmente imágenes desde la biblioteca o subir nuevas imágenes. Si utilizas add_image_size puedes añadir soporte para cualquier tamaño que necesite tu tema. También pueden reordenar las imágenes arrastrando y soltando, y añadir metadatos como el título alternativo (alt text) y el pie de foto.
Puedes integrar esto en tu tema de manera muy sencilla. Las imágenes siempre tendrán el tamaño correcto y luego puedes añadir algo como jQuery cycle para incluir imágenes rotativas en cada entrada.
