एक छवि अपलोड को सीमित करें और अपलोड करने के लिए ऑडियो, वीडियो और अन्य दस्तावेज़ फ़ाइल प्रकारों को अक्षम करें


20

Add new Post में कोई व्यक्ति कुछ ट्रिक जानता है:

  1. ऑडियो, वीडियो और अन्य फाइलपेट के अपलोड को अक्षम करें।

  2. केवल एक छवि (jpg, png, gif) के अपलोड को स्वीकार करें।

  3. प्रत्येक पोस्ट के अपलोड को केवल एक छवि तक सीमित करें (एक से अधिक नहीं)।

अग्रिम में धन्यवाद।


1
आप केवल एक फ़ाइल की अनुमति देने के लिए फ़्लैश अपलोडर को भी संशोधित कर सकते हैं । यह माइक द्वारा दिए गए समाधान के साथ मिलकर काम करता है।
Jan Fabry

जवाबों:


25

मैं यह सोचकर हार मानने वाला था कि यह संभव नहीं था या कम से कम आसान था और फिर मैं उस wp_handle_upload_prefilterफिल्टर पर ठोकर खा गया जो आपको वही देता है जो आपने माँगा था! यहाँ कोड है:

add_filter('wp_handle_upload_prefilter', 'yoursite_wp_handle_upload_prefilter');
function yoursite_wp_handle_upload_prefilter($file) {
  // This bit is for the flash uploader
  if ($file['type']=='application/octet-stream' && isset($file['tmp_name'])) {
    $file_size = getimagesize($file['tmp_name']);
    if (isset($file_size['error']) && $file_size['error']!=0) {
      $file['error'] = "Unexpected Error: {$file_size['error']}";
      return $file;
    } else {
      $file['type'] = $file_size['mime'];
    }
  }
  list($category,$type) = explode('/',$file['type']);
  if ('image'!=$category || !in_array($type,array('jpg','jpeg','gif','png'))) {
    $file['error'] = "Sorry, you can only upload a .GIF, a .JPG, or a .PNG image file.";
  } else if ($post_id = (isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : false)) {
    if (count(get_posts("post_type=attachment&post_parent={$post_id}"))>0)
      $file['error'] = "Sorry, you cannot upload more than one (1) image.";
  }
  return $file;
}

और यहां कुछ स्क्रीनशॉट दिखाए जा रहे हैं कि यह कैसे दिखता है:

वर्डप्रेस अपलोड का स्क्रीनशॉट छवि फ़ाइलों के अलावा कुछ भी के कई अपलोड को अक्षम करने के लिए कोड के साथ अपलोड करें

वर्डप्रेस अपलोड डायलॉग का स्क्रीनशॉट कोड प्रति पोस्ट कई छवि अपलोड को अक्षम करने के लिए


धन्यवाद माइक। गैर फ़्लैश अपलोड प्रक्रिया पर काम करने लगता है, लेकिन फ्लैश संस्करण शो का उपयोग कर रहा है: ... क्षमा करें, आप केवल .GIF, a .JPG, या .PNG छवि फ़ाइल अपलोड कर सकते हैं।
जोस पाब्लो ओरोज्को मारिन

@ जोस पाब्लो ओरोज्को मारिन - मेरी त्रुटि खोजने के लिए धन्यवाद। मुझे लगता है कि मुझे समस्या मिल गई है और कोड का एक नया संस्करण पोस्ट किया है जो मुझे विश्वास है कि अब फ्लैश अपलोडर के लिए काम करता है। मुझे बताएं!
माइकस्किंकेल

@ जोस पाब्लो ओरोज़्को मारिन - बहुत बढ़िया। मैं खुशी से मदद कर सकता है।
माइकशिंकेल

मुझे इस पंक्ति को कहां जोड़ना चाहिए - और क्या यह 3.01 और बाद की संगत tu wp है?

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