Fügen Sie benutzerdefinierte Einstellungen für die Anhangsanzeige für Bilder hinzu


11

Ich habe viel recherchiert und muss das noch klären. Können Sie eine benutzerdefinierte Option im Attachment Display Settings(Teil des Insert MediaDialogs im Post-Editor) hinzufügen ?

Was ich will, ist die Möglichkeit, einen Anker mit einer Klasse um alle Bilder in Posts hinzuzufügen.


advancedcustomfields.com kann dies tun, wenn Sie eine neue Feldgruppe für Ihr zusätzliches Feld erstellen, den Speicherort für Anhänge auswählen und das zusätzliche Feld im Dialogfeld Medien einfügen und auch auf der Seite zum Bearbeiten von Anhängen
angezeigt wird

Antworten:


1

Dadurch wird im Bearbeitungsbildschirm für Anhänge ein Feld zum Anwenden einer Klasse auf das img-Tag hinzugefügt.

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

Sie müssen dies nur zur functions.phpDatei Ihres Themas hinzufügen :

/**
* 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);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.