কিছু কাস্টম পোস্ট ধরণের জন্য ডিফল্ট চিত্রের আকারের উত্পাদন কীভাবে অক্ষম করবেন?


12

আমি কাস্টম পোস্ট প্রকার ব্যবহার করেছি, যেখানে 'থাম্বনেল', 'মাঝারি' এবং 'বৃহত্তর' আকারের প্রয়োজন নেই। আমার এই আকারগুলি অক্ষম করতে হবে এবং ফাংশন বা প্লাগইন তৈরি করতে হবে, যেখানে আমি সেট করতে পারি, প্রতিটি কাস্টম পোস্ট ধরণের জন্য কোন চিত্রের আকার প্রয়োজন।

আমার প্রথম পদক্ষেপটি ডাব্লুপি-অন্তর্ভুক্ত / মিডিয়া.এফপি থেকে get_interedia_image_s आकार ফাংশনটি জড়িত। আমি এই কোডটি ফাংশন.এফপি-তে যুক্ত করেছি তবে এটি কার্যকর হচ্ছে না :(

add_filter('get_intermediate_image_sizes', 'get_intermediate_image_sizes_fixed');
function get_intermediate_image_sizes_fixed() {
    global $_wp_additional_image_sizes;
    //$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes
    $image_sizes = array();
    if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) )
        $image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes ) );
return apply_filters( 'intermediate_image_sizes', $image_sizes );
}   

ইউপিডি: মিডিয়া.ফ্পে এই লাইনটি সম্পাদনা কাজ করছে। পরিবর্তনগুলি উত্পন্ন না হওয়ার পরে ডিফল্ট প্রকারগুলি।

$image_sizes = array('thumbnail', 'medium', 'large');

কিন্তু কিভাবে আমার হুক কাজ করতে?



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

আমার পদক্ষেপটি কেবল পরীক্ষামূলক তবে সম্পূর্ণ সমাধান নয়। আমি কীভাবে সঠিকভাবে ফিল্টার ব্যবহার করতে পারি? পিএস আপনাকে লিঙ্কের জন্য ধন্যবাদ ..
বোহদান Hdal

ডব্লিউপিতে এমন কোনও পরিবর্তন যা এখন এটি সম্ভব করে?
ড্রাইভিং

কোন পরিবর্তন নেই. তবুও একই সমস্যা।
বোহদান এইডাল

উত্তর:


7

আমি মনে করি এই মুহুর্তে আপনার একমাত্র সমাধান হ'ল সমস্ত মধ্যবর্তী চিত্রের অক্ষম:

add_filter( 'intermediate_image_sizes', '__return_empty_array', 99 );

এবং তারপরে পোস্টের ধরণের উপর নির্ভর করে 'ডাব্লুপি_জেনারেট_ট্যাচমেন্ট_মেডাটাটা' তে জড়িত হয়ে ম্যানুয়ালি এগুলি উত্পন্ন করুন, যেখানে আপনার সংযুক্তি আইডিতে অ্যাক্সেস রয়েছে (এবং তাই এটির মূল পোস্টে):

function do_your_stuff( $data, $attachment_id ) {
  // generate intermediate images

  return $data;
}

add_filter( 'wp_generate_attachment_metadata', 'do_your_stuff', 10, 2 );

আপনি শেষ অ্যাড_ফিল্টারটিতে 10 এবং 2 টি প্যারামিটারগুলি কী কী?
লুক

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