कस्टम प्लगइन में "मीडिया जोड़ें" बटन


12

मैं एक कस्टम प्लगइन लिख रहा हूं और मैं "मीडिया जोड़ें" बटन जोड़ना चाहूंगा।

मुझे केवल मीडिया अपलोड करने की आवश्यकता है, अपलोड की गई फ़ाइल से किसी भी सामग्री / डेटा को पुनः प्राप्त करने की नहीं।

मैं इस बटन को कैसे जोड़ सकता हूं?

धन्यवाद

जवाबों:


22

यदि आप अपने व्यवस्थापक पैनल में एक मीडिया बटन जोड़ना चाहते हैं :

आपको 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" के साथ "$" को बदलना चाहता हूं और सब कुछ उम्मीद के मुताबिक काम करता है! धन्यवाद।
लेटिन

is_admin()हुक का उपयोग करने के लिए कोई ज़रूरत नहीं है admin_enqueue_scripts। इसके अलावा, यदि आप सही पृष्ठ पर हैं, तो मैं जाँच करूँगा get_current_screen()
ब्योर्न

जो कोई, मेरे जैसे, यह भी छवि के लिए 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 
}

यह एक नंबर के बजाय उपयोगकर्ता के अंत में दिखाई देने वाला थंबनेल बना देगा :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.