Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. WordPress
Code

আপনার প্রথম ওয়ার্ডপ্রেস উইজেট তৈরি করুনঃ ভূমিকা          

by
Difficulty:IntermediateLength:ShortLanguages:
This post is part of a series called Introduction to Creating Your First WordPress Widget.
Coding and Registering Your WordPress Widget

Bengali (বাংলা) translation by Shakila Humaira (you can also view the original English article)

কোডিং এর সাথে যারা অপরিচিত, তাঁদের জন্য ওয়ার্ডপ্রেস ওয়েবসাইট তৈরিতে উইজেটসমূহ হতে পারে অসাধারণ হাতিয়ার। এগুলো দিয়ে আপনি মেনু,লিস্ট, টেক্সট, ফিডসহ আরো অনেক কিছু যোগ করতে পারবেন, যা কেবলমাত্র সাইডবারেই সীমাবদ্ধ নয়। এখনকার বেশীরভাগ থিমে ফুটারে উইজেট এরিয়া থাকে, এবং বড় থিমে উইজেট এরিয়া হেডার এবং কন্টেন্টের আগে ও পরে যোগ করার ব্যবস্থা থাকে।

এই পাঁচ ভাগে বিভক্ত সিরিজের মাধ্যমে আমি আপনার প্রথম উইজেট তৈরি করার জন্য প্রয়োজনীয় পদক্ষেপসমূহ দেখাবো। সিরিজে যেসব বিষয় থাকবে তা হলো: 

এই অংশে আমি আপনাকে উইজেট এবং Widgets API এর সঙ্গে পরিচয় করাবো।

উইজেট তৈরি করা

একটি উইজেট তৈরি করতে আপনাকে WP_Widget ক্লাসটিকে প্রসারিত করতে হবে, যাতে বেশ কয়েকটি ফাংশন অন্তর্ভুক্ত আছে:

  • উইজেট প্রক্রিয়াকরণের জন্য একটি ফাংশন
  • উইজেট ড্যাশবোর্ডের স্ক্রিনে উইজেটের জন্য  ফর্ম প্রদর্শন করার জন্য একটি ফাংশন
  • ব্যবহারকারীর দ্বারা আপডেট করার পর উইজেট সেটিংস সক্রিয় করার জন্য একটি ফাংশন
  • উইজেট এরিয়ায় উইজেটের আউটপুট প্রকাশ করার জন্য একটি ফাংশন।

এ ছাড়াও, আপনি আপনার তৈরি করা উইজেটটি রেজিস্টার করার জন্য register_widget() ফাংশনটি ব্যবহার করতে পারেন।

আপনি চাইলে উইজেটে যেকোনো কিছু ব্যবহার করতে পারবেন- স্ট্যাটিক টেক্সট থেকে শুরু করে ডাটাবেইজ কুয়েরীর ফলাফল, অন্য সাইট থেকে ফিড এবং আরো অনেক কিছু। তবে মনে রাখবেন, ব্যবহারকারী সাধারণত উইজেট একটি পেইজের সাইডবারেই আশা করে, তাই এর বিষয়বস্তু খুব বেশী গুরুত্বপূর্ণ না হওয়াই বাঞ্ছনীয়।

ওয়ার্ডপ্রেসে এম্নিতেই বেশ কিছু বিল্ট-ইন উইজেট থাকে, তাই নিজস্ব কোন উইজেট তৈরির আগে চেক করে দেখুন তা ওয়ার্ডপ্রেস কোরে আগে থেকেই উপলব্ধ আছে কিনা।

এই সিরিজে আমি একটি প্লাগিন থেকে উইজেট তৈরি করবো, যা আমি আগের টিউটোরিয়াল context-sensitive sidebar navigation -এ তৈরি করেছি। এই টিউটোরিয়ালে আমি এমন একটি উইজেট ফাংশন ডেভেলপ করবো যা কোড সম্পর্কে সাধারণ জ্ঞান আছে এমন যেকোনো ব্যবহারকারী তাঁদের থিমে ব্যবহার করতে পারবে অথবা ওয়েব হুক হিসেবেও যোগ করতে পারবে। কিন্তু এটা তাঁদের জন্য আরো সোজা যারা উইজেটের মাধ্যমে ন্যাভিগেশন যোগ করতে চায়।

উইজেট এপিআই

Widgets API -তে আপনার উইজেট তৈরির জন্য প্রয়োজনীয় ফাংশনসমূহ আছে। চলুন, প্রতিটিকে আলাদা আলাদা করে দেখা যাক।

প্রথমত, এখানে চারটি উইজেট ফাংশন আছে:

  • is_active_widget(): একটি কন্ডিশনাল ট্যাগ যার কাজ হচ্ছে উইজেটটি চালু আছে কিনা তা চেক করা। এটাকে is_active_sidebar() এর সাথে গুলিয়ে ফেলবেন না, যার কাজ হচ্ছে নির্দিষ্ট উইজেট এরিয়াতে উইজেটটি যুক্ত করা হয়েছে কিনা।
  • the_widget(): একটি টেম্পলেট ট্যাগ যা একটি উইজেটকে উইজেট এরিয়ার বাহিরে প্রদর্শন করে।
  • register_widget(): একটি উইজেট রেজিস্টার ফাংশন, যা আমি এই সিরিজের পরের টিউটোরিয়ালে ব্যবহার করবো।
  • unregister_widget(): এটা একটি উইজেটকে অ-নিবন্ধন করতে ব্যবহার করা হয়। যার অর্থ হচ্ছে, এই উইজেটটি উইজেটের পর্দায় ব্যবহারকারীদের জন্য আর উপলব্ধ থাকবে না।

এছাড়াও এখানে পাঁচটি ইন্টারনাল ফাংশন আছে:

  • wp_register_widget_control(): উইজেট স্ক্রিনে কন্ট্রোল তৈরি করে, যার ফলে ব্যবহারকারীরা উইজেট সেটিংসমূহ দেখতে পায়।
  • wp_unregister_widget_control():wp_register_widget_control() এর মাধ্যমে যেই উইজেট কন্ট্রোল তৈরি করা হয়, তা অ-নিবন্ধন করতে এই ফাংশন ব্যবহার করা হয়।
  • wp_convert_widget_settings(): এটা একটি উইজেট সেটিংসকে একক থেকে বহুমুখীতে রুপান্তর করে।
  • wp_get_widget_defaults(): এটা একটি কোর ফাংশন, যা থিম বা প্লাগিন ডেভেলপাররা ব্যবহার করতে পারেন না।
  • wp_widget_description(): উইজেটের বিবরণ তৈরি করে যা উইজেট স্ক্রিনে প্রদর্শন করা হয়।

এই ইন্টারনাল ফাংশনগুলো ব্যবহার করতে আপনাকে WP_Widget ক্লাসটি ব্যবহার করতে হবে। এটা একটি কন্সট্রাক্টর ক্লাস, যা দিয়ে আপনি অন্যান্য উইজেট তৈরি করতে পারবেন।

সারাংশ

এই ভূমিকাটি দেখে আপনি নিশ্চয়ই বুঝতে পারছেন, উইজেট তৈরি করতে আপনার কি কি লাগবে। পরবর্তী টিউটোরিয়ালে আমি আপনাকে দেখাবো কিভাবে আপনার উইজেট রেজিস্টার ও কোড করবেন।

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.