Agregar configuración de visualización de adjuntos personalizada para imágenes

11

He estado investigando mucho y todavía tengo que resolver esto. ¿Se puede agregar una opción personalizada en el Attachment Display Settings (parte del diálogo Insert Media en el editor de publicaciones)?

Lo que busco es la posibilidad de agregar un ancla con una clase alrededor de todas las imágenes en las publicaciones.

    
pregunta Doidgey 11.01.2014 - 21:26

2 respuestas

1

Esto agregará un campo en la pantalla de edición de adjuntos para aplicar una clase a la etiqueta img.

function IMGattachment_fields($form_fields, $post) {
    $form_fields["imageClass"]["label"] = __("Image Class");
    $form_fields["imageClass"]["value"] = get_post_meta($post->ID, "_imageClass", true);
    return $form_fields;
}
add_filter("attachment_fields_to_edit", "IMGattachment_fields", null, 2);
function my_image_attachment_fields_save($post, $attachment) {
    if ( isset($attachment['imageClass']) )
    update_post_meta($post['ID'], '_imageClass', $attachment['imageClass']);
    return $post;
}
add_filter("attachment_fields_to_save", "my_image_attachment_fields_save", null, 2);
    
respondido por el rspny 25.01.2014 - 01:16
0

Solo necesitas agregar esto al archivo functions.php de tu tema:

/**
* Attach a class to linked images' parent anchors
* e.g. a img => a.img img
*/
function give_linked_images_class($html, $id, $caption, $title, $align, $url, $size, $alt = '' ) {
    $classes = 'img'; // separated by spaces, e.g. 'img image-link'

    // check if there are already classes assigned to the anchor
    if ( preg_match('/<a.*? class=".*?">/', $html) ) {
    $html = preg_replace('/(<a.*? class=".*?)(".*?>)/', '$1 ' . $classes . '$2', $html);
    } else {
     $html = preg_replace('/(<a.*?)>/', '$1 class="' . $classes . '" >', $html);
    }
    return $html;
}

add_filter('image_send_to_editor','give_linked_images_class',10,8);
    
respondido por el jim.duck 26.08.2015 - 11:20

Lea otras preguntas en las etiquetas