আপলোড করার জন্য কীভাবে নূন্যতম চিত্রের মাত্রা প্রয়োজন?


17

লেখকগুলিকে আপলোডগুলি থেকে সুনির্দিষ্ট নির্দিষ্ট মাত্রাগুলি বাধা দেওয়ার জন্য আমার একটি উপায় দরকার।

বলুন আমি কেবল কমপক্ষে 400px x 400px চিত্রগুলি আপলোড করার অনুমতি দিতে চাই। যদি চিত্রটির আকার ছোট হয় তবে লেখকটির একটি ত্রুটি লক্ষ্য করা উচিত যে চিত্রটি খুব ছোট।

এমন কোনও প্লাগইন বা কোড রয়েছে যা এটি সম্পাদন করতে পারে?

উত্তর:


25

আপনার থিমের এই কোড যোগ করুন থিমের functions.php ফাইল, এবং এটি সর্বনিম্ন মূর্তির dimentions সীমাবদ্ধ করবে

add_filter('wp_handle_upload_prefilter','tc_handle_upload_prefilter');
function tc_handle_upload_prefilter($file)
{

    $img=getimagesize($file['tmp_name']);
    $minimum = array('width' => '640', 'height' => '480');
    $width= $img[0];
    $height =$img[1];

    if ($width < $minimum['width'] )
        return array("error"=>"Image dimensions are too small. Minimum width is {$minimum['width']}px. Uploaded image width is $width px");

    elseif ($height <  $minimum['height'])
        return array("error"=>"Image dimensions are too small. Minimum height is {$minimum['height']}px. Uploaded image height is $height px");
    else
        return $file; 
}

তারপরে আপনার ন্যূনতম মাত্রাগুলির সংখ্যা পরিবর্তন করুন (আমার উদাহরণে 640 এবং 480)


ধন্যবাদ! আমরা কোনও পোস্ট থাম্বনেল অন্তর্ভুক্ত করা থাকলে এই ফাংশনটি চালানোর কোনও উপায় নেই?
আর্থার ডস সান্টোস ডায়াস

এটি প্রতিবার যখন আপনি কোনও ফাইল আপলোড করছেন তখন ধাপে ধাপে এটি কেবল একটি ফাইল, আপনি এটি শ্রেণিবদ্ধ করার আগে বা এটিকে থাম্বনেইল হিসাবে অর্পণ করার আগে চলে runs আপনি নিজের পছন্দের উপসর্গ / প্রত্যয় দিয়ে ফাইলের নামের উপর ভিত্তি করে একটি শর্ত যুক্ত করতে পারেন এবং ফাইলের নামটি শর্তটি পূরণ করে যদি ফাংশনটি চালান না তার চেয়ে আপনার থাম্বনেইলটিকে এই দ্বারা ফাইল হিসাবে নামকরণ করতে পারেন।
মওর বড়জানি

লাইন 14 রেফারেন্সগুলিতে "উচ্চতা" দ্বারা "প্রস্থ" প্রতিস্থাপন করা দরকার তবে অন্যথায় এটি আমার প্রয়োজন ঠিক ছিল।

11

আমি কোনও সহকর্মীর কোডটি পুনরায় ফর্ম্যাট না করা পছন্দ করি।
সুতরাং এটি প্রায় @ মওরবারাজানির মতো একই উত্তর, তবে মাইম প্রকারটি পরীক্ষা করে file['error']ঘোষণাটি পরিবর্তন করে এবং ফাংশনটির নাম স্থানটি এই wpse প্রশ্ন আইডিতে পরিবর্তন করে।

এছাড়াও, চেকটি কেবলমাত্র সেই ব্যবহারকারীদের জন্য ঘটে যা প্রশাসক নয়

add_action( 'admin_init', 'wpse_28359_block_authors_from_uploading_small_images' );

function wpse_28359_block_authors_from_uploading_small_images()
{
    if( !current_user_can( 'administrator') )
        add_filter( 'wp_handle_upload_prefilter', 'wpse_28359_block_small_images_upload' ); 
}

function wpse_28359_block_small_images_upload( $file )
{
    // Mime type with dimensions, check to exit earlier
    $mimes = array( 'image/jpeg', 'image/png', 'image/gif' );

    if( !in_array( $file['type'], $mimes ) )
        return $file;

    $img = getimagesize( $file['tmp_name'] );
    $minimum = array( 'width' => 640, 'height' => 480 );

    if ( $img[0] < $minimum['width'] )
        $file['error'] = 
            'Image too small. Minimum width is ' 
            . $minimum['width'] 
            . 'px. Uploaded image width is ' 
            . $img[0] . 'px';

    elseif ( $img[1] < $minimum['height'] )
        $file['error'] = 
            'Image too small. Minimum height is ' 
            . $minimum['height'] 
            . 'px. Uploaded image height is ' 
            . $img[1] . 'px';

    return $file;
}

হুক ফলাফল:

অবরুদ্ধ চিত্র আপলোড


এটি ভালবাসেন এবং এটি একটি কবজ মত কাজ করে। তবে, এখানে একটি সমস্যা রয়েছে: আমি যদি কেবলমাত্র নির্দিষ্ট পোস্ট ধরণের ক্ষেত্রে এই ফিল্টারটি প্রয়োগ করতে চাই তবে ব্যবহারকারীরা এখনও মিডিয়া লাইব্রেরি থেকে একটি চিত্র চয়ন করতে পারেন যা অন্য পোস্টের ধরণের (আকারের প্রয়োজনীয়তা ছাড়াই) আপলোড করা হয়েছিল যা এই প্রয়োজনীয়তাগুলি পূরণ করে না।
সিএফএক্স

আমরা যদি বৈশিষ্ট্যযুক্ত চিত্রটি আপলোড করি তবেই এটি প্রয়োগ করার কোনও উপায় আছে?
মৃত্যুবরণ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.