Nút Thêm Media Media trong plugin tùy chỉnh


12

Tôi đang viết một plugin tùy chỉnh và tôi muốn thêm nút "Thêm phương tiện".

Tôi chỉ cần tải lên phương tiện, không lấy bất kỳ nội dung / dữ liệu nào từ tệp đã tải lên.

Làm thế nào tôi có thể thêm nút này?

Cảm ơn

Câu trả lời:


20

Nếu bạn muốn thêm nút thêm phương tiện vào bảng quản trị của mình :

Bạn cần sử dụng wp_enqueue_media ();

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

Sau đó sử dụng js này:

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

Sử dụng html này:

<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
Hoàn hảo! Tôi chỉ muốn thay thế "$" bằng "jQuery" và mọi thứ hoạt động như mong đợi! Cảm ơn bạn.
Libin

Không cần is_admin()khi bạn sử dụng móc admin_enqueue_scripts. Ngoài ra, tôi sẽ kiểm tra xem bạn có ở đúng trang không get_current_screen().
Bjorn

2

Hiển thị xem trước hình thu nhỏ thay vì số

Chỉ là một tinh chỉnh, tôi đã làm điều này ...

đã thay đổi đầu vào số thành ẩn.

thêm:

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

Và rồi ... phía trên trường ẩn.

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

Điều đó sẽ làm cho hình thu nhỏ hiển thị ở cuối người dùng thay vì số :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.