ওয়ার্ডপ্রেস ট্যাক্সনমিতে মেটাবক্স সুবিধা যোগ করা

ওয়ার্ডপ্রেস ট্যাক্সনমিতে মেটাবক্স সুবিধা যোগ করা

ওয়ার্ডপ্রেসের ট্যাক্সনমিতে ডিফল্ট ভাবে মেটাবক্স দেখানোর কোন সুবিধা নেই, কিন্তু মজার ব্যাপার হল ওয়ার্ডপ্রেস কোডিং স্ট্রাকচার এমন ভাবে করা যাতে আমরা নিজেরা ডাটাবেজে আলাদা টেবিল দিয়ে সহজে কাজটা সেরে নিতে পারি 🙂

স্পেসিফিক অবজেক্ট গুলো তে মেটা যোগ করার জন্যে ওয়ার্ডপ্রেস এ add_metadata নামে একটা ফাংশন আছে আমরা ওটা দিয়ে কাজ করব 🙂

চলুন ফাংশনটা একবার দেখে নিই https://github.com/WordPress/WordPress/blob/master/wp-includes/meta.php#L29

এই পেজের ৩৬ নাম্বার লাইনে দেখুন যে _get_meta_table নামে একটা ফাংশন দিয়ে মেটা টেবিল টাও নেওয়া হয়েছে, ফাংশন টা ওই পেজের ১১০৭ নাম্বার লাইনে আছে।

এই ফাংশনে একটু খেয়াল করলে বুঝা যাবে যে মেটা টেবিল করার আগে টেবিল নেমের সাফিক্স অবশ্যই meta হতে হবে এবং ওটা $wpdb অবজেক্ট এর সাথে সেট করে দিতে হবে। আমাদের ট্যাক্সনমি মেটা টেবিলের নাম আমরা taxonomymeta ই দিচ্ছি।  তাহলে চলুন আমরা ছোট একটা প্লাগিন বালিয়ে ফেলি যেটা একটিভ করলে taxonomymeta টেবিল টা ওয়ার্ডপ্রেস ডাটাবেজে যোগ হয়ে যাবে আর  $wpdb অবজেক্টের সাথে taxonomymeta নাম টা পেজ ইনিশিয়েট এর সময় সেট হয়ে যাবে। taxonomymeta টেবিলের কলাম গুলো হবে অন্যান্য মেটা টেবিল ( পোস্ট, ইউজার, কমেন্ট ইত্যাদি )  কলাম গুলোর মতই, যেমন ঃ  meta_id, taxonomy_id, meta_key, meta_value.

প্লাগিন এক্টিভেশনের সময় আমরা টেবিল টা তৈরি করব আর init হুকে আমরা $wpdb তে ট্যাক্সনমি টেবিলের নাম টা বলে দিব।

এবার মেটাডাটা গুলা সেভ, আপডেট, ডিলিট করার জন্যে ফাংশন গুলা লিখে ফেলব।

এখন ট্যাক্সনমিতে আমরা মেটা ফর্ম ফিল্ড যোগ ও তা সেভ করব।  ট্যাক্সনমি মেটা ফর্ম  ফিল্ড যোগ ও সেভ  করার জন্যে ওয়ার্ডপ্রেসের একশন হুক আছে। ধরুন আমাদের ট্যাক্সনমি নাম txname তাহলেঃ

একটা উদাহরণ দিলে ব্যাপার টা আরও ক্লিয়ার হবে ঃ ধরুন আমরা নির্দিষ্ট নাম্বার এর একটা রেঞ্জ ফিল্ড দিব তাহলেঃ

ফর্ম ফিল্ড এড করা আর এডিট করার html ভিন্ন এইজন্যে আলাদা ফাংশন করতে হয়েছে কিন্তু সেভ বা আপডেট  করার জন্যে আমরা একটা ফাংশন ই ব্যাবহার করেছি 🙂

এখন আপনি চাইলে যেকোনো স্থানে ট্যাক্সনমির মেটা ডাটা ব্যবহার করতে পারেন, যেমন আমরা যদি রেঞ্জ ফিল্ড টার ডাটা ব্যবহার করতে চাই তাহলে get_term_meta(TERM_ID, ‘numrange’, TRUE); দিয়ে রেঞ্জ ফিল্ড এর ডাটা পাব।  তবে যেহেতু  get_term_meta আমাদের নিজেদের করা ফাংশন তাই ওটা ব্যবহারের আগে ফাংশন টা exists আছে কিনা তা চেক করে ব্যবহার উচিত 🙂

One thought on “ওয়ার্ডপ্রেস ট্যাক্সনমিতে মেটাবক্স সুবিধা যোগ করা”

Leave a Reply

Your email address will not be published. Required fields are marked *