Aggiungi impostazioni di visualizzazione degli allegati personalizzate per le immagini


11

Ho fatto molte ricerche e non ho ancora elaborato questo. Puoi aggiungere un'opzione personalizzata nella Attachment Display Settings(parte della Insert Mediafinestra di dialogo nell'editor dei post)?

Quello che sto cercando è la possibilità di aggiungere un'ancora con una classe attorno a tutte le immagini nei post.


advancedcustomfields.com può farlo, quando crei un nuovo gruppo di campi per il tuo campo aggiuntivo, scegli la posizione dell'allegato e visualizzerà il campo aggiuntivo nella finestra di dialogo Inserisci media e anche nella pagina di modifica dell'allegato
passatgt

Risposte:


1

Ciò aggiungerà un campo nella schermata di modifica dell'allegato per applicare una classe al 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

Devi solo aggiungere questo al functions.phpfile del tuo 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);
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.