ফিল্টার কি?
ফিল্টারগুলি হ'ল ফাংশনগুলি যা ওয়ার্ডপ্রেস ডেটা দিয়ে কিছু কার্যকর করার আগে মৃত্যুদন্ড কার্যকর করার নির্দিষ্ট পয়েন্টগুলিতে (যেমন এটি ডাটাবেসে যুক্ত করা বা ব্রাউজার স্ক্রিনে প্রেরণ করা) ডেটা পাস করে। ফিল্টারগুলি ডাটাবেস এবং ব্রাউজারের মধ্যে বসে (যখন ওয়ার্ডপ্রেস পৃষ্ঠাগুলি তৈরি করে), এবং ব্রাউজার এবং ডাটাবেসগুলির মধ্যে (যখন ওয়ার্ডপ্রেস ডেটাবেজে নতুন পোস্ট এবং মন্তব্য যুক্ত করে); ওয়ার্ডপ্রেসে বেশিরভাগ ইনপুট এবং আউটপুট কমপক্ষে একটি ফিল্টার দিয়ে যায়। ওয়ার্ডপ্রেস ডিফল্টরূপে কিছু ফিল্টারিং করে এবং আপনার প্লাগইন এটির নিজস্ব ফিল্টারিং যোগ করতে পারে।
একটি ফিল্টার মধ্যে hooking
ব্যবহারকারীদের কিছু নির্দিষ্ট ডেটা (একটি মান, কোনও ফাংশনের আউটপুট ইত্যাদি) পরিবর্তন করতে দেওয়ার জন্য apply_filters
ফাংশনগুলির মাধ্যমে ফিল্টার হুক সরবরাহ করা হয়।
এই ফিল্টার হুকগুলির মধ্যে ফিল্টারটির নাম (বা ট্যাগ ) এবং অন্তত ফাংশন নাম অন্তর্ভুক্ত রয়েছে যা ডেটা ফিল্টার করতে (যেমন কোনওভাবে পরিবর্তন করা)।
কোনও পোস্টের শিরোনাম পরিবর্তন করতে, আপনি the_title
ফিল্টার হুক ব্যবহার করতে পারেন , যা নিম্নলিখিত হিসাবে সংজ্ঞায়িত হয়েছে:
apply_filters( 'the_title', $title, $id );
এর অর্থ, ফিল্টারটির ট্যাগ / নাম রয়েছে the_title
, প্রথম প্যারামিটারটি $title
এমন ডেটা যা পরিবর্তন করতে হবে (অর্থাত্ পোস্টের শিরোনাম) এবং দ্বিতীয় প্যারামিটারটি $id
অতিরিক্ত তথ্য (এই ক্ষেত্রে পোস্ট আইডি)।
UPPERCASE- এ প্রতিটি পোস্টের শিরোনাম প্রদর্শন করতে উদাহরণস্বরূপ, আপনি নিম্নলিখিত লাইনটি ব্যবহার করতে পারেন:
add_filter('the_title', 'strtoupper');
আমরা যদি add_filter
ফাংশনটি একবার দেখে নিই, আমরা এটি নীচে সংজ্ঞায়িত দেখতে পাই:
add_filter( $tag, $function_to_add, $priority, $accepted_args );
আমরা কেবল প্রথম এবং দ্বিতীয় (প্রয়োজনীয়) প্যারামিটার নির্দিষ্ট করেছি, যখন তৃতীয় এবং চতুর্থ প্যারামিটারটি তার নিজস্ব ডিফল্ট মান (যেমন, 10
এবং 1
) এ সেট করা আছে।
একটি আরও জটিল ফিল্টার
আপনি যদি কেবল একটি নির্দিষ্ট পোস্ট ফিল্টার করতে চান তবে আপনি অতিরিক্ত তথ্য (এই ফিল্টারটির ক্ষেত্রে: আইডি) ব্যবহার করতে পারেন। এটি করার জন্য, আপনাকে প্যারামিটারের সংখ্যা নির্দিষ্ট করতে হবে (যা এই ক্ষেত্রে 2) এবং আপনাকে আবার এটি করতে গেলে আপনাকে অগ্রাধিকারের প্যারামিটারটি নির্দিষ্ট করতে হবে (যা আর্গুমেন্টের সংখ্যার আগে আসে)।
ধরুন আমরা আইডি 42 দিয়ে কেবলমাত্র পোস্টের শিরোনামকে প্রভাবিত করতে চাই, তবে এটির মতো দেখাচ্ছে:
add_filter('the_title', 'my_strtoupper', 10, 2);
function my_strtoupper($title, $id) {
if (42 === $id) return strtoupper($title);
return $title;
} // function my_strtoupper
এই ক্ষেত্রে, আমাদের চারটি উপলব্ধ পরামিতি নির্দিষ্ট করতে হবে।
আমার কী পরামিতি আছে?
নির্দিষ্ট ফিল্টারের (সংখ্যা) উপলভ্য প্যারামিটারগুলি সনাক্ত করতে আপনাকে এটি নির্ধারণ করা হবে কোথায় তা সন্ধান করতে হবে (এই ক্ষেত্রে: এখানে )।
তথ্যসূত্র :