Agregar configuración de visualización de archivos 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 Attachment Display Settings(parte del Insert Mediadiálogo en el editor de publicaciones)?

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


advancedcustomfields.com puede hacer esto, cuando se crea un nuevo grupo de campo para usted campo extra, elegir el lugar de fijación y se mostrará el campo adicional en el cuadro de diálogo Insertar Medios de comunicación y en la página de edición apego demasiado
passatgt

Respuestas:


1

Esto agregará un campo en la pantalla de edición de archivos 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);

0

Solo necesita agregar esto al functions.phparchivo de su 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);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.