قبلاً در رابطه با افزودن فونت فارسی به قالب وردپرس توضیح دادم اما خیلی از دوستان موقع آپلود کردن فایل موردنظر خودشان با یک خطای مبهم مواجه شدند. خطای این نوع پرونده به دلایل امنیتی مجاز نیست که این خطا باعث میشد تا نتوانید فرمتهای موردنیاز فونت خود را روی سایت آپلود کنید. از این قضیه که بگذریم برای آپلود کردن فایلهای مختلف با پسوندهای مختلف با مشکل مواجه خواهید شد که این موضوع باعث اختلال در کارکرد وبسایت وردپرسی شما خواهد شد و نمیتوانید وبگاهتان را آنطور که میخواهید مدیریت کنید.
چرا وردپرس امکان آپلود هر نوع فرمتی را نمیدهد؟
فایلهایی هستند که میتوانند در کارکرد وبسایت وردپرسی شما اختلال ایجاد کند فایلهایی مثل php میتوانند اطلاعات وبسایت شمارا دریافت کنند اما خود شما بهعنوان یک فرد مدیر هیچگاه فایلهای مخرب را روی سایت خود آپلود کنید اما نویسندههایی دارید که ممکن است دست از پا خطا کنند و فایلهای مخرب را از عمد یا غیر عمد روی سایت شما آپلود کنند. پس بهتر است وردپرس از آپلود فایلهای غیرمجاز جلوگیری کند.
اما درهرصورت شاید شما دوست داشته باشید یکسری فرمت را روی وب سایتتان آپلود کنید و یا شخصی غیر از شما دسترسی به پنل مدیریت وردپرس ندارد. در این صورت بهتر است که فرمتهایی را برای آپلود مجاز کنید.
خطای “این نوع پرونده به دلایل امنیتی مجاز نیست”
خود وردپرس چنین امکانی را در اختیار شما قرار داده که میتوانید با استفاده از آن فرمتهای دلخواه خود را برای آپلود اضافه کنید تا موقع آپلود این نوع فایلها با خطا مواجه نشوید. در این مقاله قصد دارم به شما توضیح دهم چطور از این قابلیت در سایت خود استفاده کنید و فرمتهای موردنیاز خود را برای آپلود به وردپرس اضافه کنید.
افزودن فرمت بدون نیاز به نصب افزونه
برای این کار باید از یک فیلتر وردپرسی استفاده کنید و این فیلتر را با استفاده از یک تابع در فایل توابع قالب سایتتان اضافه کنید. پس ابتدا وارد پوشه قالب سایتتان شوید و فایل functions.php را ویرایش کنید. تابعی با نام دلخواه خود بین کدهای این فایل اضافه کنید. به این شکل:
function drgraphicmimetypes($mime_types){ $mime_types['svg'] = 'image/svg+xml'; //Adding svg extension $mime_types['psd'] = 'image/vnd.adobe.photoshop'; //Adding photoshop files return $mime_types; }
در کد بالا اعلام کردیم که تابع drgraphicmimetypes شامل دو فرمت svg و psd است که این دو فرمت باید در بخش رسانه قابل آپلود باشند. حالا کافیست این تابع را با استفاده از فیلتر upload_mimes فراخوانی کنیم. پس این کد را زیر کد قبلی قرار میدهیم:
add_filter('upload_mimes', 'drgraphicmimetypes', 1, 1);
حالا میتوانید دو فایل psd و svg را در سایتتان آپلود کنید و لذتش را ببرید. فراموش نکنید اگر میخواهید فرمتهای دیگری را اضافه کنید باید mime type آن فایل را پیدا کنید.
میتوانید از طریق این لیست، Mime Type مورد نظر خود را برای هر فایلی انتخاب کنید و کد بالا را به دلخواه خود و بر اساس پسوندهای مورد نیاز خود ویرایش کنید.
منابع: wikipedia – wordpress.org – mihanwp – youtube