add_image_size( $name, $width, $height, $crop )ফাংশন সুতনু যথেষ্ট একই ব্যবহার করে অনেকগুলি কল হ্যান্ডেল হয় $name। এটি কেবল বিদ্যমান মানটিকে ওভাররাইট করে :
$_wp_additional_image_sizes[$name] = array( 'width' => absint( $width ), 'height' => absint( $height ), 'crop' => (bool) $crop );
সুতরাং এর অর্থ হল যে কাস্টম চিত্রের আকারের পিতামাতার থিমের সংজ্ঞাটি ওভাররাইড করার জন্য আপনার যা যা করা দরকার তা হ'ল পিতামাতার থিমের কলের পরে আপনার কলটি add_image_size()আগুনের দিকে চলে ।
অনুমান করে যে প্যারেন্ট থিমটি এটি পছন্দ করে:
function parent_theme_setup() {
add_image_size( 'name', 500, 200, true );
add_image_size( 'new-name', 400, 300, true );
}
add_action( 'after_setup_theme', 'parent_theme_setup' );
তারপরে অভিভাবক থিমের add_image_size()কলটি after_setup_themeহুকের দিকে আগুন ধরে যায় , ডিফল্ট অগ্রাধিকারে (যেমন 10)।
(দ্রষ্টব্য: যদি কল করা হয় না একটি কলব্যাক আবৃত, তারপর তারা এ আগুন plugins_loadedহুক, অগ্রাধিকার এ 10।)
এখানে সমালোচনামূলক অংশটি রয়েছে: চাইল্ড থিমের functions.phpফাইলটি প্যারেন্ট থিমের আগে পার্স করা হয়েছে , তাই যদি আপনি একই add_image_size()কলগুলি আপনার কলগুলিকে চালিত করতে ব্যবহার করেন তবে পিতামহীন থিমের কলগুলি সেগুলি ওভাররাইড হয়ে যাবে add_image_size()।
সন্তানের থিমের কলটি পিতামাতার থিমের পরে চালিত হয় তা নিশ্চিত করার জন্য সমাধানটি হুক বা পরে একটি নিম্ন অগ্রাধিকার ব্যবহার করা ।add_image_size()
পিতামহীন থিমটি তার কলগুলি কীভাবে চালায় তা নির্বিশেষে এই কৌশলটি করা উচিত:
function child_theme_setup() {
add_image_size( 'name', 400, 300, true );
}
add_action( 'after_setup_theme', 'child_theme_setup', 11 );
নোট করুন যে আমরা একই after_setup_themeহুক ব্যবহার করি তবে অগ্রাধিকার দিয়ে শুরু করে উচ্চতর অগ্রাধিকার (নিম্ন সংখ্যা) থেকে নিম্ন অগ্রাধিকার (উচ্চতর সংখ্যা) এর জন্য একটি কম অগ্রাধিকার (যেমন 11পরিবর্তে 10। কলব্যাক্স ফায়ার) ব্যবহার করুন 0So সুতরাং অগ্রাধিকারে হুক করা একটি কলব্যাকের পরে11 ফায়ার হবে একটি কলব্যাক অগ্রাধিকার মধ্যে hooked ।10
এই নোটটি after_setup_themeহুকের পরে নিজেই আগুন জ্বলে ওঠে plugins_loaded, সুতরাং এই কলব্যাকটি প্যারেন্ট থিমটিকে ওভাররাইড করবে, এমনকি পিতামহীন থিমটি _doing_it_wrong()উপযুক্ত কলব্যাকের মধ্যে যেমন কলগুলি মোড়ানো না করে, একটি উপযুক্ত হুকের মধ্যে আবদ্ধ করা হয়।
add_image_size()কল শুধু নির্মমভাবে বসাfunctions.phpবা তাদের যেটি সঠিকভাবে একটি কলব্যাক এবং লাগানো মধ্যে ভিতরে আবৃত করা হয়after_setup_theme? আপনার প্রশ্নের উত্তর দেওয়ার জন্য কোনটি সমালোচিত তা জানা।