2014-04-04 6 views
5

मैं अपनी पहली WordPress प्लगइन विकसित कर रहा हूं। इसे केवल एक कस्टम टेम्पलेट में लोगो बदलने और कस्टम टेम्पलेट में रंग योजना बदलने की अनुमति देने की आवश्यकता है।वर्डप्रेस: ​​व्यवस्थापक विकल्प में छवि अपलोड करें पृष्ठ

मैंने एक व्यवस्थापक विकल्प पृष्ठ बनाया है और अब उपयोगकर्ता को एक छवि अपलोड करने की अनुमति देने के लिए एक फ़ील्ड जोड़ना है। मैं wp-content/uploads फ़ोल्डर में कोई छवि कैसे अपलोड कर सकता हूं। अब तक, मेरे पास यह एक तालिका में है:

<td><input name="logo_image" type="file" id="logo_image" value="" /></td> 

क्या यह सही दृष्टिकोण है? यदि हां, तो मैं फ़ाइल को सही फ़ोल्डर में कैसे निर्देशित करूं? क्या वर्डप्रेस में फाइल अपलोड को संभालने का अपना तरीका नहीं है?

+0

यह खाली के रूप में अपलोड मीडिया निर्देशिका निर्माण करेंगे, लेकिन डिफ़ॉल्ट मीडिया पॉपअप अनुभाग –

उत्तर

0

आप स्वचालित रूप से फ़ाइल चले जाएँगे वर्डप्रेस

<?php wp_handle_upload($file, $overrides, $time); ?> 

यह की इनबिल्ट समारोह का उपयोग कर सकते करने के लिए अपलोड फ़ोल्डर

या

आप अपनी खुद की PHP समारोह लिख सकते हैं।

अतिरिक्त विवरण यहां पाया जा सकता ->Wordpress File Upload

13

अपने वैश्विक कस्टम विकल्प कार्य करने के लिए यह कोड जोड़ें।

if(function_exists('wp_enqueue_media')){ 
    wp_enqueue_media(); 
}else{ 
    wp_enqueue_style('thickbox'); 
    wp_enqueue_script('media-upload'); 
    wp_enqueue_script('thickbox'); 
} 

<p><strong>Header Logo Image URL:</strong><br /> 
       <img class="header_logo" src="<?php echo get_option('header_logo'); ?>" height="100" width="100"/> 
       <input class="header_logo_url" type="text" name="header_logo" size="60" value="<?php echo get_option('header_logo'); ?>"> 
       <a href="#" class="header_logo_upload">Upload</a> 

</p>  


<script> 
    jQuery(document).ready(function($) { 
     $('.header_logo_upload').click(function(e) { 
      e.preventDefault(); 

      var custom_uploader = wp.media({ 
       title: 'Custom Image', 
       button: { 
        text: 'Upload Image' 
       }, 
       multiple: false // Set this to true to allow multiple files to be selected 
      }) 
      .on('select', function() { 
       var attachment = custom_uploader.state().get('selection').first().toJSON(); 
       $('.header_logo').attr('src', attachment.url); 
       $('.header_logo_url').val(attachment.url); 

      }) 
      .open(); 
     }); 
    }); 
</script> 

More info

या

Media uploader in theme and plugin

enter image description here

+0

प्रस्तुत नहीं हो रही नहीं यकीन है कि जहां इसे जोड़ने के लिए ... व्यवस्थापक मेनू एक php फ़ाइल है, क्या मैं बस जोड़ता हूं जेएस भाग ?? –

+0

यह आपकी सेटिंग के लिए आपके फ़ंक्शन पर निर्भर करता है। देखो कैसे बनाएं https://codex.wordpress.org/Creating_Options_Pages –

+0

जो मैं समझता हूं उससे - वर्डप्रेस इसके बजाय कस्टमाइज़र एपीआई का उपयोग करने की सिफारिश करता है ... https://developer.wordpress.org/themes/advanced-topics/customizer -api / –

संबंधित मुद्दे