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.


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);

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);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.