Adicionar configuração de exibição de anexo personalizada para imagens

11

Eu tenho pesquisado bastante e ainda tenho que resolver isso. Você pode adicionar uma opção personalizada no Attachment Display Settings(parte da Insert Mediacaixa de diálogo no editor de postagem)?

O que estou procurando é a capacidade de adicionar uma âncora com uma classe em torno de todas as imagens nas postagens.

Doidgey
fonte
advancedcustomfields.com pode fazer isso, quando você cria um novo grupo de campos para você campo extra, escolha o local Apego e ele irá exibir o campo extra na caixa de diálogo Inserir mídia e na página de edição apego demasiado
passatgt

Respostas:

1

Isso adicionará um campo na tela de edição de anexo para aplicar uma classe à tag 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);
rspny
fonte
0

Você só precisa adicionar isso ao functions.phparquivo do seu 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);
jim.duck
fonte