ايران ويج

نسخه‌ی کامل: wordpress - ایجاد محدودیت طول و عرض برای آپلود عکس در گالری وردپرس
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان من یک کد تو فایل function.php در لایه تم وردپرس خودم نوشتم که کارش این میاد طول و عرض فایل آپلودی (عکس) رو چک میکنه و اگر از سایز تایین شده کوچکتر بود به کاربر پیام خطا میده و اجازه آپلود عکس نمیده
و درستم کار میکنه در بخش آپلود عکس در گالری وردپرس

مشکل اینجا هست که این کد نمیفهمه فایلی که داره آپلود میشه در کدام بخش هست مثلا اگه برید تو قسمت افزودن افزونه و بخواهید یک plugin از رو سیستم خودتون آپلود کنید با هم همین کد اجرا میشه و فایل plugin رو به عنوان عکس فرض میکنه چون این کد هر زمانی که در وردپرس فایلی بخواد آپلود شه فراخوانی میشود
از کجا میشه فرق گذاشت و فهمید کاربر داره برای کدام بخش فایل آپلود میکنه؟

اینم کد من در فایل function.php:

کد php:
add_filter('wp_handle_upload_prefilter','handle_upload_prefilter');
function 
handle_upload_prefilter($file// todo programming
{
 
   $img=getimagesize($file['tmp_name']);
 
   $minimum=array('width'=>'1024','height'=>'400');
 
   $width=$img[0];
 
   $height=$img[1];
 
   if($width<$minimum['width'] || $height<$minimum['height']){
 
       return array("error"=>"سایز فایل آپلودی باید "."width:".$minimum['width']."  height:".$minimum['height']." باشد");
 
   }
 
   else{
 
       return $file;
 
   }

شما باید قبل از اجرای عملیات پسوند فایل رو چک کنید بعد عملیات رو روش انجام بدید برای این کار میتونین از کد زیر استفاده کنید

کد php:
$imageFileType wp_check_filetype($file["name"]);
$imageFileType strtolower($imageFileType['ext']);
if(!
in_array($imageFileType,array('jpg','jpeg','png','gif')))
return 
$file

البته نظر من این هست که این کار زیاد جالب نیست وردپرس خودش از فایلهای عکس عکس بند انگشتی یا thumbnil در 3 اندازه میسازه شما میتونی با استفده از توابع وردپرس اون سایزها رو تغییر بدید یا سایز جدید اضافه کنید که روش بهتری هست
(۱۱-آذر-۱۳۹۶, ۱۱:۴۰:۲۹)crafcrab نوشته است: [ -> ]سلام دوستان من یک کد تو فایل function.php در لایه تم وردپرس خودم نوشتم که کارش این میاد طول و عرض فایل آپلودی (عکس) رو چک میکنه و اگر از سایز تایین شده کوچکتر بود به کاربر پیام خطا میده و اجازه آپلود عکس نمیده
و درستم کار میکنه در بخش آپلود عکس در گالری وردپرس

مشکل اینجا هست که این کد نمیفهمه فایلی که داره آپلود میشه در کدام بخش هست مثلا اگه برید تو قسمت افزودن افزونه و بخواهید یک plugin از رو سیستم خودتون آپلود کنید با هم همین کد اجرا میشه و فایل plugin رو به عنوان عکس فرض میکنه چون این کد هر زمانی که در وردپرس فایلی بخواد آپلود شه فراخوانی میشود
از کجا میشه فرق گذاشت و فهمید کاربر داره برای کدام بخش فایل آپلود میکنه؟

اینم کد من در فایل function.php:

کد php:
add_filter('wp_handle_upload_prefilter','handle_upload_prefilter');
function 
handle_upload_prefilter($file// todo programming
{
 
   $img=getimagesize($file['tmp_name']);
 
   $minimum=array('width'=>'1024','height'=>'400');
 
   $width=$img[0];
 
   $height=$img[1];
 
   if($width<$minimum['width'] || $height<$minimum['height']){
 
       return array("error"=>"سایز فایل آپلودی باید "."width:".$minimum['width']."  height:".$minimum['height']." باشد");
 
   }
 
   else{
 
       return $file;
 
   }


سلام ممنون از پاسخ من نیازی به تغییر سایز ندارم و با توابع تغییر سایز وردپرس آشنا هستم - تهنا کاری که میخوام این هست بفهمم کاربر در کدام لایه ووردپرس هست (من میخوام بدونم در قسمت ارسال/ویرایش نوشته) هست یا نه همین
برای فهمیدن اینکه کاربر در کجا هست میتونین از توابع زیر کمک بگیرید 
https://codex.wordpress.org/Function_Ref...ent_screen
https://www.google.com/url?sa=t&rct=j&q=...LccRql1dZ4