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
। কলব্যাক্স ফায়ার) ব্যবহার করুন 0
So সুতরাং অগ্রাধিকারে হুক করা একটি কলব্যাকের পরে11
ফায়ার হবে একটি কলব্যাক অগ্রাধিকার মধ্যে hooked ।10
এই নোটটি after_setup_theme
হুকের পরে নিজেই আগুন জ্বলে ওঠে plugins_loaded
, সুতরাং এই কলব্যাকটি প্যারেন্ট থিমটিকে ওভাররাইড করবে, এমনকি পিতামহীন থিমটি _doing_it_wrong()
উপযুক্ত কলব্যাকের মধ্যে যেমন কলগুলি মোড়ানো না করে, একটি উপযুক্ত হুকের মধ্যে আবদ্ধ করা হয়।
add_image_size()
কল শুধু নির্মমভাবে বসাfunctions.php
বা তাদের যেটি সঠিকভাবে একটি কলব্যাক এবং লাগানো মধ্যে ভিতরে আবৃত করা হয়after_setup_theme
? আপনার প্রশ্নের উত্তর দেওয়ার জন্য কোনটি সমালোচিত তা জানা।