사용자 정의 플러그인의 "미디어 추가"버튼


12

맞춤 플러그인을 작성 중이며 '미디어 추가'버튼을 추가하고 싶습니다.

업로드 된 파일에서 내용 / 데이터를 검색하지 않고 미디어 만 업로드하면됩니다.

이 버튼을 어떻게 추가 할 수 있습니까?

감사

답변:


21

관리자 패널에 미디어 추가 버튼을 추가하려는 경우 :

wp_enqueue_media ()를 사용해야합니다.

add_action ( 'admin_enqueue_scripts', function () {
    if (is_admin ())
        wp_enqueue_media ();
} );

그런 다음이 js를 사용하십시오.

jQuery(document).ready(function() {
    var $ = jQuery;
    if ($('.set_custom_images').length > 0) {
        if ( typeof wp !== 'undefined' && wp.media && wp.media.editor) {
            $('.set_custom_images').on('click', function(e) {
                e.preventDefault();
                var button = $(this);
                var id = button.prev();
                wp.media.editor.send.attachment = function(props, attachment) {
                    id.val(attachment.id);
                };
                wp.media.editor.open(button);
                return false;
            });
        }
    }
});

이 HTML을 사용하십시오 :

<p>
    <input type="number" value="" class="regular-text process_custom_images" id="process_custom_images" name="" max="" min="1" step="1">
    <button class="set_custom_images button">Set Image ID</button>
</p>

1
완전한! "$"를 "jQuery"로 바꾸고 싶은데 모든 것이 예상대로 작동합니다! 감사합니다.
Libin

is_admin()후크를 사용할 때 필요하지 않습니다 admin_enqueue_scripts. 또한와 함께 올바른 페이지에 있는지 확인하겠습니다 get_current_screen().
Bjorn

나와 같이 이미지의 URL이 필요할 수있는 사람은 다음을 사용할 수 있습니다 var attachmentURL = wp.media.attachment(attachment.id).get("url");.. 나는 이것을 안으로 넣었다function(props, attachment)
seveninstl

2

숫자 대신 섬네일 미리보기 표시

조정처럼, 나는 이것을했다 ...

숫자 입력을 숨김으로 변경했습니다.

추가 :

$imgid =(isset( $instance[ 'imgid' ] )) ? $instance[ 'imgid' ] : "";
$img    = wp_get_attachment_image_src($imgid, 'thumbnail');

그리고 ... 숨겨진 필드 위.

if($img != "") {
?>
  <img src="<?= $img[0]; ?>" width="80px" /><br />
<?php 
}

그러면 숫자 대신 사용자쪽에 축소판이 표시됩니다. :)

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