শর্তসাপেক্ষে if ( isset($wp_filter['all']) ) {
আপনি এই হুক তৈরির ফাংশনগুলিতে ডানদিকে পেতে পারেন:
apply_filters
apply_filters_ref_array
do_action
do_action_ref_array
এর মধ্যে পার্থক্য প্রেরিত সংখ্যার মধ্যে রয়েছে। হয় আমাদের একাধিক যুক্তি প্রয়োজন, এইভাবে ref_array
বা একক যুক্তি। অন্যান্য পার্থক্য "অ্যাকশন বনাম ফিল্টার" সহজ, ক্রিয়া কোনও ফাংশন / ক্রিয়া করতে পারে এবং ফিল্টার নাম সাধারণত ফাংশনগুলির জন্য সংরক্ষিত থাকে যা স্ট্রিং ডেটা নেয় এবং সেই ডেটা ফিল্টার করে দেয়।
ঠিক আছে, এইভাবে আপনি হুক তৈরি করেন these এবং হুকের নাম রয়েছে এবং আপনি একই হুক নামের একাধিক ফাংশনের নামগুলি (পড়ুন: ট্যাগ) ফিশ করতে পারেন।
তবে একবার আপনি নির্দিষ্ট হুকের সাথে যুক্ত সমস্ত ফাংশন সংজ্ঞায়িত করার পরে, আপনাকে কোনও কোনও হুকের নাম এবং সম্পর্কিত ফাংশন নাম সংরক্ষণ করতে হবে। এই কারণেই আমরা global $wp_filter
ওয়ার্ডপ্রেসে অ্যাভ করে থাকি । যদি আপনি সেই পরিবর্তনশীল আউটপুট করেন তবে আপনি এমন কিছু পাবেন ...
Array
(
[pre_term_name] => Array
(
[10] => Array
(
[sanitize_text_field] => Array
(
[function] => sanitize_text_field
[accepted_args] => 1
)
[wp_filter_kses] => Array
(
[function] => wp_filter_kses
[accepted_args] => 1
)
)
[30] => Array
(
[_wp_specialchars] => Array
(
[function] => _wp_specialchars
[accepted_args] => 1
)
)
)
ঠিক আছে, আসুন আমরা এই পরিবর্তনশীলটির নামে তর্ক না করি। ব্যক্তিগতভাবে, আমি এটিকে আলাদা বলব, সম্ভবত $wp_hooks
এই নামটি নেওয়া হয়নি। যাইহোক, আমরা যদি ইতিহাসে ফিরে যাই তবে আমরা দেখতে পাব do_action
যেটি তখন থেকেই @since 1.2.0
এবং apply_filters
এটি @since 0.71
(9 ই জুন, 2003 এ প্রকাশিত)। এটি আপনাকে কেন বলা হয় তা বেশ ভাল ব্যাখ্যা দেয় $wp_filter
। এটি সবচেয়ে সম্ভাব্য কারণ ফিল্টারগুলি প্রথমে ওয়ার্ডপ্রেসে চালু হয়েছিল। পরে তারা কর্মের পরিচয় দেয়।
@DeadMedic থেকে সবেমাত্র বলা হচ্ছে ...
যোগ_অ্যাকশন ('সমস্ত', 'যাই হোক না কেন') এর অর্থ হুকের নাম নির্বিশেষে প্রতিটি ডুঅ্যাকশনের জন্য যা কিছু আগুন লাগে will
আমি প্রশ্ন উত্থাপন কেন আমাদের প্রয়োজন $wp_filter['all']
? মাত্র কয়েকটি উদাহরণ। ভবিষ্যতের ওয়ার্ডপ্রেস সংস্করণগুলিতে সিস্টেমের অভ্যন্তরীণ বৈশিষ্ট্যগুলির অন্তঃসত্ত্বা, পরীক্ষা এবং সম্ভাব্য আরও বেশি।