تحميل ملف WordPress برمجيًا: 3 طرق عملية
نشرت: 2022-10-20بشكل افتراضي ، يدعم WordPress تحميل الملفات عبر مكتبة الوسائط الخاصة به أو شاشة تحرير النشر. عندما تقوم بتحميل الملفات إلى موقع الويب الخاص بك باستخدام هذه الوظائف المضمنة ، فإن WordPress يتعامل مع كل شيء نيابة عنك. يتيح لك عرض جميع الملفات التي تم تحميلها وإدراجها في مشاركاتك أو صفحاتك.
ومع ذلك ، فأنت بحاجة إلى أكثر من ذلك عندما يتعلق الأمر بالوظائف المخصصة ، مثل تحميل ملفات الواجهة الأمامية. هناك الكثير من المكونات الإضافية المتاحة التي تساعدك على إضافة وتعديل وإدارة ملفاتك دون تعديل التعليمات البرمجية. بالطبع ، يتطلب معظمهم رسومًا.
إذا كنت لا ترغب في الدفع مقابل المكونات الإضافية ، فإن تحميل الملفات برمجيًا إلى موقع WordPress الخاص بك يمكن أن يكون حلاً. في هذه المقالة ، سنوجهك حول كيفية تحقيق ذلك بالتفصيل.
هيا بنا نبدأ!
- إشعار صغير
- # 1 قم بتحميل الملفات إلى مكتبة الوسائط برمجيًا من عناوين URL
- # 2 أضف ملفات عبر نموذج HTML
- # 3 أدخل الملفات إلى المعرض المخصص برمجيًا
- نصيحة إضافية: حماية عمليات تحميل الملفات الخاصة بك
إشعار صغير
تتداخل هذه الطريقة بشكل أساسي مع الكود. لذا ، يرجى الاشتراك في هذه التقنية فقط إذا كان لديك بعض المعرفة بالترميز. خلاف ذلك ، يمكن أن ينهار موقعك بالكامل بتغيير بسيط واحد غير مناسب.
إذا كنت قد بدأت للتو مع WordPress ، فنحن نوصي بشدة باستخدام المكوّن الإضافي Gravity Forms لقبول تحميلات ملفات الواجهة الأمامية. أو تحقق من أفضل 5 مكونات إضافية لتحميلات ملف الواجهة الأمامية لـ WordPress. يمكنك أيضًا استخدام عميل FTP لتحميل الملفات من الخلفية.
ومع ذلك ، هل تريد معرفة كيفية تحميل الملفات برمجيًا في WordPress؟ تابع القراءة!
# 1 قم بتحميل الملفات إلى مكتبة الوسائط برمجيًا من عناوين URL
أنت تتصفح الإنترنت وتجد صورًا رائعة ترغب في تحميلها إلى مكتبة وسائط WordPress الخاصة بك. إليك الطريق للقيام بذلك:
- انسخ عنوان URL للصورة.
- قم بتضمين الشفرة أدناه في موقعك وأدخل عنوان URL الذي نسخته:
/ ** * تحميل الصورة من URL برمجيا * * @ المؤلف ميشا رودراستي * @ link https://rudrastyh.com/wordpress/how-to-add-images-to-media-library-from-uploaded-files-programmatically.html#upload-image-from-url * / دالة rudr_upload_file_by_url ($ image_url) { // يسمح لنا باستخدام وظائف download_url () و wp_handle_sideload () Required_once (ABSPATH. 'wp-admin / include / file.php') ؛ // تنزيل إلى temp dir $ temp_file = download_url ($ image_url) ؛ إذا (is_wp_error ($ temp_file)) { عودة كاذبة؛ } // نقل ملف temp إلى دليل التحميلات ملف $ = مجموعة ( 'name' => الاسم الأساسي (image_url $) ، 'type' => mime_content_type ($ temp_file) ، 'tmp_name' => ملف temp_ $ دولار ، "حجم" => حجم الملف (ملف _ مؤقت بالدولار) ، ) ؛ التحميل الجانبي $ = wp_handle_sideload ( ملف $ ، مجموعة مصفوفة( 'test_form' => false // لا يلزم التحقق من معامل "الإجراء" ) ) ؛ إذا (! blank ($ sideload ['error'])) { // يمكنك إرجاع رسالة خطأ إذا أردت عودة كاذبة؛ } // حان الوقت لإضافة صورتنا التي تم تحميلها إلى مكتبة وسائط WordPress attachment_id $ = wp_insert_attachment ( مجموعة مصفوفة( 'GUID' => تحميل جانبي $ ['url'] ، 'post_mime_type' => تحميل sideload $ ['type'] ، 'post_title' => الاسم الأساسي ($ sideload ['file']) ، "post_content" => "، 'post_status' => 'توارث' ، ) ، sideload $ ['ملف'] ) ؛ إذا (is_wp_error ($ attachment_id) ||! $ attachment_id) { عودة كاذبة؛ } // تحديث البيانات الوصفية ، وإعادة إنشاء أحجام الصور Required_once (ABSPATH. 'wp-admin / include / image.php') ؛ wp_update_attachment_metadata ( attachment_id $ ، wp_generate_attachment_metadata ($ attachment_id، $ sideload ['file']) ) ؛ إرجاع attachment_id $؛ }
هذا هو!
# 2 أضف ملفات عبر نموذج HTML
الطريقة الثانية هي إنشاء نموذج HTML بسيط مع إدخال ملف وزر إرسال. يمكنك وضع هذا النموذج على أي صفحة أو منشور ، مما يسمح للمستخدمين بتحميل الملفات إلى موقعك. اتبع الخطوات التالية لتحميل الملفات برمجيًا في WordPress عبر نموذج HTML:
- قم بتضمين الكود التالي لإنشاء نموذج HTML بسيط:
1 <h2> تحميل ملف </ h2> 2 <form method = "post" enctype = "multipart / form-data"> 3 <نوع الإدخال = "اسم الملف" = "ملف" مطلوب /> 4 <input type = "submit" name = "upload_file" value = "Upload" /> 5 </form>
باستخدام وظيفة wp_upload_bits () ، سيقوم WordPress تلقائيًا بتخزين الملفات التي تم تحميلها داخل دليل التحميلات . يمكنك العثور على ملفاتك داخل مجلد الشهر الحالي ، على سبيل المثال ، wp-content / uploads / 2020-> 03-> your_file .

2. أدخل هذا الرمز في ملف jobs.php الخاص بك:
1 <؟ php 2 وظيفة fn_upload_file () { 3 if (isset ($ _ POST ['upload_file'])) { 4 $ upload = wp_upload_bits ($ _ FILES ['file'] ['name']، null، $ _FILES ['file'] ['tmp_name'])؛ 5 // حفظ في قاعدة البيانات $ upload ['url] 6} 7} 8 add_action ('init'، 'fn_upload_file')؛
إذا قمت بطباعة المتغير $ upload ، فستحصل على مصفوفة تحتوي على الدليل وعناوين URL للملفات التي تم تحميلها. يمكن للمستخدمين العثور على عناوين URL هذه وحفظها في قاعدة البيانات باستخدام $ upload ['url] .
كما ذكرنا أعلاه ، بمجرد استخدام طريقة wp_upload_bits () ، سيتم تخزين ملفاتك في التسلسل الهرمي الافتراضي لمجلد WordPress. ولكن ماذا لو كنت ترغب في حفظ الملفات داخل دليلك الخاص؟
في هذه الحالة ، يجب عليك إنشاء مجلد مخصص في دليل التحميلات ونقل الملفات إليه. لنفترض أنك تريد تخزين ملفاتك داخل مجلد upload / product-images . باستخدام الكود أدناه ، يمكنك إنشاء مجلد صور المنتج وتخزين الملفات بداخله.
اكتب الكود في ملف jobs.php :
وظيفة واحدة fn_upload_file () { 2 if (isset ($ _ POST ['upload_file'])) { 3 $ upload_dir = wp_upload_dir ()؛ 4 5 if (! blank ($ upload_dir ['basedir'])) { 6 $ user_dirname = $ upload_dir ['basedir']. '/ product-images'؛ 7 إذا (! file_exists ($ user_dirname)) { 8 wp_mkdir_p ($ user_dirname) ؛ 9} 10 11 $ filename = wp_unique_filename ($ user_dirname، $ _FILES ['file'] ['name']) ؛ 12 move_uploaded_file ($ _ FILES ['file'] ['tmp_name']، $ user_dirname. '/'. $ filename)؛ 13 // حفظ في قاعدة البيانات $ upload_dir ['baseurl']. '/ product-images /'.$ filename؛ 14} 15 } 16} 17 add_action ('init'، 'fn_upload_file')؛
هنا ، نقوم بتطبيق تقنية wp_unique_filename () لإعطاء اسم ملف فريد للدليل المحدد.
# 3 أدخل الملفات إلى المعرض المخصص برمجيًا
لنفترض أن لديك معرضًا مضافًا كحقل تعريف مخصص يسمى "معرض". يمكنك تحميل الكثير من الصور من خلال media_sideload_image () . بعد ذلك ، قم بتسلسل معرفاتهم وأدخلها في المعرض عن طريق update_post_meta ($ post_id، 'gallery'، $ serialized) ؛
وبالتالي ، عندما تنظر إلى المنشور في الصفحة الخلفية لتحرير المنشور ، سترى جميع الصور التي تم تحميلها. ومع ذلك ، لن تظهر هذه الصور في عرض الشرائح في الواجهة الأمامية حتى تضغط على تحديث في الواجهة الخلفية.
إذن ، كيف يمكنك النقر فوق الزر تحديث برمجيًا بعد إنشاء المعرض؟ ما عليك سوى اتباع الدليل أدناه:
- بمجرد تحديث معرض المنشورات ، أضف هذا الرمز لتحديد زر التحديث برمجيًا:
wp_update_post (['ID' => $ post_id]) ؛
2. قم بتحديث ذاكرة التخزين المؤقت لاستخدام وظائف البحث والتصفية:
do_action ('search_filter_update_post_cache'، $ post_id) ؛
نصيحة إضافية: حماية عمليات تحميل الملفات الخاصة بك
هل توجد أي طرق لمنع الوصول غير المصرح به إلى الملفات التي تم تحميلها؟ الجواب نعم. لمزيد من المعلومات ، يرجى الرجوع إلى دليلنا المفصل الذي يحتوي على 21 خدعة مفيدة .htaccess لتأمين ملفات WordPress. نظرًا لأن .htaccess هو ملف مهم يحافظ على تشغيل موقعك بسلاسة ، فكن حذرًا عند إجراء أي تغييرات.
من ناحية أخرى ، قم بتثبيت المكون الإضافي PDA Gold إذا لم تكن واثقًا من مهاراتك في الترميز. سيساعدك على التعامل مع المتاعب دون القلق بشأن التأثير على ملف htaccess.
هناك طريقة أخرى جديرة بالاهتمام وهي حماية ملفات WordPress الخاصة بك بكلمة مرور. تحقق من مقالتنا لمزيد من التفاصيل.
قم بتحميل الملفات برمجيًا في WordPress مثل خبير!
لقد أوضحنا لك 3 طرق لتحميل الملفات برمجيًا في WordPress. الآن ، يمكنك تحميل الملفات بسهولة إلى مكتبة الوسائط أو عبر نموذج تحميل ملف HTML للواجهة الأمامية. من الممكن أيضًا إضافة ملفات إلى معرض الصور المخصص الخاص بك. والأهم من ذلك ، لا تنس حماية ملفات WordPress الخاصة بك إما باستخدام التعليمات البرمجية أو تثبيت المكونات الإضافية.
يتعلق الأمر بكيفية تحميل الملفات برمجيًا في WordPress. هل تعرف أي طرق أخرى؟ يرجى مشاركتنا في قسم التعليقات أدناه.