Advertisement
  1. Code
  2. WordPress

আপনার ওয়ার্ডপ্রেস উইজেট কোডিং এবং নিবন্ধীকরণ

Scroll to top
Read Time: 3 min
This post is part of a series called Introduction to Creating Your First WordPress Widget.
Introduction to Creating Your First WordPress Widget
Constructing Your WordPress Widget

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

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

এই সম্পূর্ণ সিরিজটি পাঁচ অংশে বিভক্ত:

আপনার কি প্রয়োজন হবে

এই সিরিজটি অনুসরণ করতে আপনার দরকার হবে:

  • ওয়ার্ডপ্রেস ওয়েবসাইটের একটি ডেভেলপমেন্ট ইন্সটলেশন
  • একটি কোড এডিটর

প্লাগিন সেটআপ করা

প্রথমে আপনাকে আপনার প্লাগিনটি সেটআপ করতে হবে। আপনার wp-content/plugins ডাইরেক্টরিতে একটি নতুন ফাইল তৈরি করুন। আমি আমার প্লাগিনের নাম দিলাম tutsplus-list-subpages-widget.php

এবং এই ফাইলে নিচের লাইনগুলো যোগ করুন:

1
<?php 
2
/*Plugin Name: List Subpages Widget

3
Description: This widget checks if the current page has parent or child pages and if so, outputs a list of the highest ancestor page and its descendants. This file supports part 1 of the series to create the widget and doesn't give you a functioning widget.

4
Version: 0.1

5
Author: Rachel McCollin

6
Author URI: https://rachelmccollin.com

7
License: GPLv2

8
*/
9
?>

এবার আপনি নিশ্চয়ই লেখকের নাম এবং ওয়েবসাইট পরিবর্তন করতে চাচ্ছেন, কিন্তু আপনি যাই লিখুন না কেন, প্লাগিনের পর্দায় প্লাগিনটাকে ঠিকভাবে প্রদর্শন করতে এটুকুই যথেষ্ট।

প্লাগিন ফাইলটি সেভ করুন।

উইজেট ক্লাস তৈরি করুন

পরবর্তী ধাপে আমরা WP_Widget ক্লাসটিকে আরও বিস্তৃত করতে নতুন ক্লাস তৈরি করবো।

আপনার প্লাগিন ফাইলে নিচের কোডটুকু টাইপ করুন:

1
<?php
2
class Tutsplus_List_Pages_Widget extends WP_Widget {
3
    
4
  function __construct() {
5
	}
6
	
7
	function form( $instance ) {
8
	}
9
	
10
	function update( $new_instance, $old_instance ) {		
11
	}
12
	
13
	function widget( $args, $instance ) {
14
		
15
	}
16
	
17
}
18
?>

চলুন, দেখে নেই এই ক্লাসগুলো কোনটি কি করবে:

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

এর মধ্যে শেষ তিনটি হচ্ছে প্যারামিটার যা আমি প্রাসঙ্গিক টিউটোরিয়ালে আরো বিস্তারিতভাবে ব্যাখ্যা করব।

উইজেট রেজিস্টার করা

আপনার উইজেট টি কাজ করবে না যতক্ষন না আপনি তা আপনার নির্দিষ্ট ক্লাসের নীচে তা রেজিস্টার না করবেন। এ জন্য নির্দিষ্ট ক্লাসের নীচে ফাংশন এবং হুক যুক্ত করুন:

1
<?php
2
function tutsplus_register_list_pages_widget() {
3
4
    register_widget( 'Tutsplus_List_Pages_Widget' );
5
6
}
7
add_action( 'widgets_init', 'tutsplus_register_list_pages_widget' );
8
?>

register_widget() ফাংশনটি এমন একটি ওয়ার্ডপ্রেস ফাংশন যার একক প্যারামিটার হচ্ছে আপনার তৈরিকৃত ক্লাসের নামটি।

ওয়ার্ডপ্রেস যাতে আপনার ফাংশনটি বুঝতে পারে এজন্য আপনি আপনার ফাংশনটি widgets_init ফাংশনের সাথে হুক তৈরি করে দিতে পারেন।  

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

সারাংশ

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

পরবর্তী টিউটোরিয়ালে, আপনি আপনার __construct ফাংশন ব্যবহার করে কিভাবে উইজেটটি তৈরি করবেন তা শিখবেন।

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
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.