이미지에 대한 사용자 지정 첨부 파일 표시 설정 추가


11

나는 많은 연구를 해왔고 아직 해결하지 못했습니다. Attachment Display Settings( Insert Media포스트 편집기 의 대화 상자 일부) 에서 사용자 정의 옵션을 추가 할 수 있습니까 ?

내가 따르는 것은 게시물의 모든 이미지 주위에 클래스가있는 앵커를 추가하는 기능입니다.


advancedcustomfields.com 이 작업을 수행 할 수 있습니다 당신을 위해 추가 필드를 새 필드 그룹을 만들 때, 첨부 파일의 위치를 선택하고 너무 삽입 Media 대화 및 첨부 파일 편집 페이지에서 추가 필드를 표시합니다
passatgt

답변:


1

첨부 파일 편집 화면에 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

테마 functions.php파일에 이것을 추가하면 됩니다.

/**
* 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);
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.