Search

כיצד לאפשר העלאת סוגי קבצים נוספים בוורדפרס?

למטרת בטיחות ואבטחה, וורדפרס מאפשרת אך ורק העלאה של סוגי הקבצים הנפוצים כגון תמונות, וידאו ומסמכים למינהם. אך מה עושים במקרה ואתם מעוניינים להעלות קבצים עם סיומת שוורדפרס אינה מאפשרת להעלות כברירת מחדל?

במדריך קצר זה אסביר כיצד לאפשר העלאת סוגי קבצים נוספים בוורדפרס. נתחיל…

כיצד לאפשר העלאה של סוגי קבצים נוספים?

הנה קישור לרשימת סוגי הקבצים שוורדפרס מאפשרת להעלות כברירת מחדל. הסיבה המרכזית שוורדפרס מונעת אפשרות להעלות את כל סוגי הקבצים היא אבטחה כפי שציינו.

דרך אחת לשנות התנהגות זו ולאפשר העלאה של קבצים נוספים היא על ידי הוספת הקוד המופיע מטה לקובץ functions.php :

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
    $mime_types['webp'] = 'image/webp'; // WEBP Images
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

אם אינכם יודעים, הקובץ functions.php נמצא בתיקייה הראשית של התבנית שלכם…

במקרה זה אנו מאפשרים להעלות קבצי פוטושופ (PSD), קבצי SVG ותמונות מסוג WEBP שכולנו מעדיפים להשתמש בהם. במידה ואתם מעוניינים להוסיף סוגי קבצים נוספים אתם צריכים לדעת את ה MIME Type שלהם, רשימה של MIME Types נפוצים תוכלו למצוא בקישור הבא.

דרך נוספת ואולי אף פשוטה יותר היא לאפשר העלאה של כלל סוגי הקבצים ללא הגבלה כלל. את זה ניתן לעשות על ידי הוספת השורה הבאה לקובץ wp-config.php:

define( 'ALLOW_UNFILTERED_UPLOADS', true );

הקובץ wp-config.php מאפשר לעשות מודיפיקציה להתנהגות ברירת המחדל של וורדפרס, ותמצאו קובץ זה בתיקייה הראשית של השרת (כלומר התיקייה בה וורדפרס מותקנת במרבית המקרים).

כיצד למנוע את האפשרות להעלות סוג קובץ מסויים?

במידה ואתם מעוניינים להסיר סוג קובץ מסויים ולמנוע את האפשרות להעלות אותו, הוסיפו את הקוד הבא לקובץ functions.php :

function disallow_personal_uploads ( $existing_mimes=array() ) {
 
    // remove GIF files
    unset ($existing_mimes['gif']); 
 
    // return amended array
    return $existing_mimes;
}

// call our function when appropriate
add_filter('upload_mimes', 'disallow_personal_uploads');

קטע קוד זה יחסום את האפשרות להעלות קבצי gif בוורדפרס. מקווה שטיפ זה יעזור לכם, אתם מוזמנים כתמיד להגיב ולשתף…

רועי יוסף
רועי יוסף

מפתח אתרים ותבניות וורדפרס יעודייות על בסיס עיצוב. אוהב טיפוגרפיה, צבעים ומה שבינהם ומכוון לספק אתרים רספונסיבים עם ביצועים גבוהים, מותאמים למנועי חיפוש ובעלי קוד ולידי, סמנטי ונקי.

36 תגובות...
  • Avatar photo דסי 20 פברואר 2018, 11:49

    שלום רועי,
    זו ההזדמנות לומר תודה ענקית על הפוסטים המושקעים והמקצועיים, שבאים בדיוק בזמן!!! מעריכה מאד! ונעזרת בהם המוווון… לא יודעת מה הייתי עושה בלי…

    לגבי הפוסט הזה, שאלה: אם אפשר לדעת היכן אוכל למצא קוד לסוגי קבצים נוספים? למשל קובץ פאוור פוינט, אני לא מצליחה להעלות.

    תודה רבה!!

    • Avatar photo רועי יוסף 20 פברואר 2018, 12:04

      תודה דסי, שמח לשמוע! 🙂

      ניתן להעלות קבצי פאוור פוינט (PPT או PPTX) לספריית המדיה. וורדפרס מאפשרת זאת כברירת מחדל עבור קבצים אלו ועבור סוגי הקבצים הבאים

      • Avatar photo דסי 20 פברואר 2018, 13:17

        תודה רבה על המענה. ניסיתי, ואני לא מצליחה להעלות דרך המדיה.
        אולי משהו בהגדרות אחרות?

        • Avatar photo רועי יוסף 20 פברואר 2018, 13:23

          מה השגיאה שאת מקבלת?

          • Avatar photo דסי 20 פברואר 2018, 13:31

            לאחר מספר נסיונות הקובץ עלה לבסוף לאחר ששיניתי את שם הקובץ לשם באנגלית-אולי זו התשובה? לפני כן כתב שהקובץ לא מורשה מטעמי אבטחה.

            תודה רבה על המענה האדיב. אין דברים כאלו!!
            תצליח.

  • Avatar photo kuti 28 יוני 2018, 12:26

    יש אפשרות לעזרה
    אך ניתן לעלות קובץ ZIP שיש בו ממסד קובץ נתוני מלונות לאתר ווארדפרס ואך להשתמש במידע ?
    תודה

  • Avatar photo מנחם 19 דצמבר 2018, 0:09

    היי רועי , לא הצלחתי לאפשר העלאה של קבצי CSV יש לך אפשרות להעיף מבט פה מה פספסתי?
    זה מה שהוספתי ל function.php:

    function my_mime_types( $existing_mimes ) {
        $existing_mimes['csv'] = 'text/csv';
        
        return $existing_mimes;
    }
    add_filter( 'mime_types', 'my_mime_types' );

    תודה רבה על כל ההשקעה.

    • Avatar photo רועי יוסף 19 דצמבר 2018, 0:16

      זהו באג בוורדפרס ששאני מאמין ויתוקן בקרוב. בינתים אתה יכול להוסיף את הקוד הבא ל functions.php:

      /**
       * Restore CSV upload functionality for WordPress 4.9.9 and up
       */
      add_filter('wp_check_filetype_and_ext', function($values, $file, $filename, $mimes) {
      	if ( extension_loaded( 'fileinfo' ) ) {
      		// with the php-extension, a CSV file is issues type text/plain so we fix that back to 
      		// text/csv by trusting the file extension.
      		$finfo     = finfo_open( FILEINFO_MIME_TYPE );
      		$real_mime = finfo_file( $finfo, $file );
      		finfo_close( $finfo );
      		if ( $real_mime === 'text/plain' && preg_match( '/\.(csv)$/i', $filename ) ) {
      			$values['ext']  = 'csv';
      			$values['type'] = 'text/csv';
      		}
      	} else {
      		// without the php-extension, we probably don't have the issue at all, but just to be sure...
      		if ( preg_match( '/\.(csv)$/i', $filename ) ) {
      			$values['ext']  = 'csv';
      			$values['type'] = 'text/csv';
      		}
      	}
      	return $values;
      }, PHP_INT_MAX, 4);
      • Avatar photo מנחם 19 דצמבר 2018, 10:24

        תודה רבה אח יקר!!! עובד מעולה

  • Avatar photo מירה 11 ינואר 2019, 2:24

    היי, תודה על כל מה שאתה כותב!
    שאלה- איך אני מוסיפה קובץ מוזיקה מהמחשב שלי לאתר וורדפרס, אבדה? אני מנסה להעלות את הקובץ לספריה אבל היא לא "מקבלת" את הקובץ, כלומר כבר בחיפוש הקובץ לא מופיע.

    • Avatar photo רועי יוסף 11 ינואר 2019, 2:26

      היי מירה, מה סיומת קובץ המוזיקה שאת מנסה להעלות?

  • Avatar photo ישי גלעד 16 פברואר 2019, 23:40

    היי רועי, אחלה אתר תודה!

    אני מנסה להעלאות קובץ vcf איך אני מעלה? לאיפה אני מעלה את הקוד? לעמוד הספציפי? אשמח להבין תודה

    • Avatar photo רועי יוסף 17 פברואר 2019, 0:01

      היי ישי,

      עליך להוסיף את הקוד הבא לקובץ functions.php הנמצא בתיקייה הראשית של התבנית שלך על מנת לאפשר העלאה של קובץ VCF:

      <?php
      /**
       * Enable VCF File Upload 
       *
       */
      function be_enable_vcard_upload( $mime_types ){
        $mime_types['vcf'] = 'text/x-vcard';
        return $mime_types;
      }
      add_filter('upload_mimes', 'be_enable_vcard_upload' );

      שים לב כי אין להוסיף את השורה הראשונה (שורת ה PHP הפותחת)…

      • Avatar photo דפנה 10 ינואר 2020, 14:31

        היי רועי, תודה על המידע. איך מייצרים קובץ VCF?

        • Avatar photo רועי יוסף 11 ינואר 2020, 13:08

          איני יודע איך, אם אני לא טועה אז VCF זה פורמט שמשתמשים בו בד״כ עבור פנקסי כתובות וכדומה (Address Book).

  • Avatar photo ישראל 21 פברואר 2019, 17:54

    היי, אחלה מאמר – תודה!
    איך אני מעלה קובץ HTML לאתר? אני רוצה לאמת בעלות על הדומיין עבור G-SUITE וצריך להעלות HTML. אבל וורדפרס חוסם מטעמי אבטחה.

    • Avatar photo רועי יוסף 21 פברואר 2019, 18:11

      היי ישראל,

      בשביל זה אתה צריך להעלות את הקובץ לתיקייה הראשית של האתר, לא יעבוד אחרת. את זה אתה יכול לעשות באמצעות FTP או דרך ה File Manager של שרת האחסון שלך.

  • Avatar photo מיקה 12 יוני 2019, 19:49

    הי רועי,
    הוספתי את הקוד הבא וזה עדיין נותן לי שגיאה שלא מתאפשר להעלות קובץ wma מטעמי אבטחה
    מה הבעיה?

    <?php
    
    function my_myme_types($mime_types) {
        $mime_types['wma'] = 'audio/x-ms-wma'; //Adding wma extension to allowed files to upload
        return $mime_types;
    }
    
    add_filter('upload_mimes', 'my_myme_types', 1, 1);
    • Avatar photo רועי יוסף 13 יוני 2019, 8:09

      היי מיקה,

      הוסרה התמיכה בקבצי WMA ו WMV עד כמה שידוע לי. נסי אולי להשתמש בפילטר הבא בכדי לאפשר את השימוש באלו:

      function add_wma_to_wp_audio_extensions( $extensions ) {
          $extensions[] = 'wma';
          return $extensions;
      }
      add_filter( 'wp_audio_extensions', 'add_wma_to_wp_audio_extensions' );
  • Avatar photo מרים 26 אוקטובר 2019, 22:42

    ניסיתי לעשות כנ"ל, פשוט העתק הדבק את הקוד לתוך הקובץ דרך ניהול האתר, ועדיין לא מתאפשר לעלות קובץ SVG. מה יכולה להיות הסיבה?

  • Avatar photo רגב סלע 7 מאי 2020, 17:16

    היי, תודה רבה על המידע. הוספתי לקובץ functions.php את הקוד הבא:

    function my_myme_types($mime_types){
        $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension
        $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files
        return $mime_types;
    }
    add_filter('upload_mimes', 'my_myme_types', 1, 1);

    אך עדיין מתקבלת אצלי השגיאה Sorry, this file type is not permitted for security reasons. אשמח לעזרתך להבין מדוע 🙂

    • Avatar photo רועי יוסף 7 מאי 2020, 17:37

      היי רגב, הקוד שצירפת עובד לי גם עבור קבצי פוטושופ וגם עבור קבצי SVG. וודא שהוספת אותו במקום הנכון, אם אתה משתמש בתבנית בת אז עלייך להוסיפו ב functions.php של תבנית הבת.

  • Avatar photo משה 12 יוני 2020, 4:48

    קבצים שעשיתי להם המרה בפורמט פקטורי לא ניתנים לצפיה בוורדפרס, אשמח מאוד לדעת למה זה כך.. תודה

    • Avatar photo רועי יוסף 14 יולי 2020, 2:45

      סליחה על התגובה המאוחרת משה…

      היכן אתה מנסה? לצפות בהם ומה זה בדיוק פורמט פקטורי?

  • Avatar photo אבי 13 יולי 2020, 17:48

    שלום וברכה,

    ראשית, תודה רבה על הידע האדיר המקצועי והברור שאתה מעניק לנו! ועכשיו לבעיה שלי, אני מעונין להעלות קבצי תוכנה בסיומת exe לאתר, מהו קטע הקוד שאני צריך לכתוב. כלומר מהו תיאור הקובץ שצריך לכתוב אחרי הסיומת שבסוגריים המרובעים.

    תודה רבה.

    • Avatar photo רועי יוסף 14 יולי 2020, 2:43

      נסה את הקוד הבא:

      function enable_extended_upload ( $mime_types ) {
      
         // The MIME types listed here will be allowed in the media library.
         // You can add as many MIME types as you want.
         $mime_types['exe']  = 'application/exe'; 
      
         return $mime_types;
      } 
      add_filter('upload_mimes', 'enable_extended_upload');
  • Avatar photo אבי 14 יולי 2020, 15:08

    ראשית אני מעריך אותך מאוד שבשעות לילה כאלה אתה יושב ועוזר לאנשים…. כל הכבוד!
    שנית, הקוד לצערי לא עובד.

    • Avatar photo רועי יוסף 14 יולי 2020, 15:53

      עדכנתי את הקוד – נסה שנית. בכל מקרה אני מציע כי תכווץ קבצים מסוג זה ותעלה אותם כ ZIP..

      בהצלחה!

  • Avatar photo הודיה 26 ינואר 2021, 22:30

    היי,

    אשמח לדעת איך אפשר לתת ללקוח להעלות תמונה לאתר. לדוגמה, באתר של מתנות יש צורך להדפיס את המתנה על מוצר כלשהו.על הלקוח להעלות קובץ להדפסה על המוצר ושזה יועבר גם לסל הקניות.

    תודה רבה על הכל

  • Avatar photo ריקי 11 ינואר 2022, 12:07

    שלום,
    אשמח להבין איך להעלות קבצי וורד ואקסל לאתר וורדפרס.
    תודה רבה!

    • Avatar photo רועי יוסף 11 ינואר 2022, 12:22

      את יכולה להשתמש בקוד הבא בקובץ functions.php:

      function sv_mime_types( $mimes ) {
          $mimes['xls|xlsx'] = 'application/vnd.ms-excel';
          $mimes['doc'] = 'application/msword';
          $mimes['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
          return $mimes;
      }
      add_filter( 'mime_types', 'sv_mime_types' );
      • Avatar photo ריקי 13 ינואר 2022, 13:07

        תודה ענקית!
        קבצי אקסל אכן עולים עכשיו בהצלחה. קבצי וורד עדיין לא…
        הנה ההודעה שקיבלתי:

        קובץ משימה 5.docx
        סוג הקובץ אינו מורשה מטעמי אבטחה.

        • Avatar photo רועי יוסף 13 ינואר 2022, 14:47

          מממ, עדכנתי את הפוסט, נסי אולי את האפשרות דרך wp-config.php.

תגובה חדשה

Up!
לבלוג