ปุ่ม“ เพิ่มสื่อ” ในปลั๊กอินที่กำหนดเอง


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.