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

একটি কাস্টম ওয়ার্ডপ্রেস ম্যাসেজিং সিস্টেম তৈরি, পর্ব ১

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Creating a Custom WordPress Messaging System.
Creating a Custom WordPress Messaging System, Part 2

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

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

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

পাশাপাশি, এই বিশেষ API নির্বাচন করার অনেক সুবিধা রয়েছে। এর মধ্যে রয়েছেঃ

  • স্যানিটাইজেশন এবং ভ্যালিডেশন
  • কাস্টম মেনু আইটেম
  • এডমিনিস্ট্রেশন পেইজ সহজে প্রবর্তন
  • বিভিন্ন ধরনের ইনপুট নিয়ে কাজ করা
  • সাকসেস অথবা ফেইলার এর উপর অটোমেটেড ম্যাসেজিং
  • এবং আরো অনেক কিছু

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

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

যা বলেছিলাম, এই টিউটোরিয়াল বুঝতে আগের টিউটোরিয়াল পড়া থাকতে হবেনা। এখান থেকেই শুরু করে প্রথম থেকে বুঝতে পারবেন।

এর সাথে বলছি, চলুন শুরু করা যাক।

আপনার এই সিরিজের জন্য যা প্রয়োজন হবে

যদি আপনি আমার পূর্বের কোন টিউটোরিয়াল পড়ে থাকেন, আপনি জানেন যে আমি প্রতিটা টিউটোরিয়াল (অথবা সিরিজ) দুটি জিনিস দিয়ে শুরু করতে পছন্দ করিঃ

  1. শুরু করার জন্য প্রয়োজনীয় সফটওয়্যার এর একটি লিস্ট প্রদান।
  2. আমরা কোনদিকে যাচ্ছি তার একটি রোডম্যাপ প্রদান যাতে আপনি এই সিরিজের সঙ্গে এগিয়ে যেতে চান কি চান না তার সিদ্ধান্ত নিতে পারেন।

চলুন এখনই করা যাক।

আপনার ডেভেলপমেন্ট পরিবেশ

সাধারণভাবে বলতে গেলে, এইগুলি যা আপনার প্রয়োজন হবে আমরা যে প্রজেক্ট তৈরি করতে যাচ্ছি তা শুরুর জন্য।

  • PHP 5.6.25
  • MySQL 5.6.28
  • Apache (অথবা Nginx যদি আপনি এটির সাথে সাচ্ছন্দ বোধ করেন)
  • WordPress 4.6.1
  • আপনার পছন্দের এডিটর অথবা IDE

এই সব একসাথে কিভাবে কাজ করে আপনি যদি তা জানতে ইচ্ছুক হোন, আমি পরামর্শ দিবো এই সিরিজটি পড়ার জন্য।

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

আমাদের রোডম্যাপ

এই সিরিকের লেসন প্ল্যান

  1. এই টিউটোরিয়ালে আমরা দেখবো কিভানে আমাদের প্লাগিনের ফাইল স্টার্ট করতে হয়।
  2. দ্বিতীয় অংশে, আমরা প্লাগইনটিকে একটি খুবই সাধারণ ওয়ার্ডপ্রেস এডমিনিস্ট্রেশন পেইজ যোগ করার মাধ্যমে একটু এগিয়ে নিয়ে যাবো। আমরা সার্ভার সাইড কল করার জন্য কাস্টম হুক ব্যবহার করব। আমাদের সেটিংস মেসেঞ্জার তৈরি করা নিয়ে কাজ করব।
  3. পরের টিউটোরিয়ালে দেখনো কিভাবে মেসেঞ্জারের প্লাগিন এর সেটিংস সাপোর্ট অ্যাড করা যায়। আর সিকিউরিটি কিভাবে ঠিক রাখতে হয়।
  4. সব একত্রে করে, আমরা এই প্রজেক্ট শেষ করব।

এই টিউটোরিয়ালের সকল কোড এই আর্টিকেলে প্রদান করা লিংক থেকে ডাউনলোড করে নেয়া যাবে। সাথে টিউটোরিয়ালের কোডও রয়েছে। এই টপিকগুলাই এই টিউটোরিয়াল কভার করবে।

কিন্তু ফাইনাল ভার্সনে আমরা একটি বিস্তারিত দেখব এই আর কি।

প্লাগইন শুরু করা

ঠিক এখন, আমরা জানি নিচের দেখানো জিনিসগুলি আমাদের প্লাগইনের জন্য প্রয়োজন হবেঃ

  • একটি বেসিক এডমিনিসট্রেশন পেইজ
  • এডমিনিসট্রেশন পেইজে নিয়ে যাও্যার জন্য একটি মেনু আইটেম
  • প্লাগইন শুরুর জন্য একটি bootstrap ফাইল

তবে চলুন সব টুকরা জোড়া দিয়ে ফাংশনাল করা যাক।

১। মেনু আইটেম

প্রথমে, আমরা ওয়ার্ডপ্রেসের Options মেন্যুতে একটি সাবমেন্যু অ্যাড করব।

এটি করার জন্য, আমাদের দুইটি ক্লাস এবং একটি ফাইল প্রয়োজনঃ একটি ক্লাস যা সাবমেনু প্রদর্শন করবে, একটি ক্লাস যা সাবমেনু পেইজ প্রদর্শন করবে, এবং একটি ফাইল যা পেইজের কন্টেন্ট প্রদর্শন করবে।

এটি করার পূর্বে, আমি নিচে দেখানো ডিরেক্টরি স্ট্রাকচার রেকমেন্ড করছিঃ

The plugins directory structure

এর মানে admin ডিরেক্টরির একটি views সাবডিরেক্টরি থাকবে। admin ডিরেক্টরির class-submenu.php এবং class-submenu-page.php থাকবে। আমরা এই এডমিনিসট্রেশন পেইজ সম্পর্কে পরবর্তী সেকশনে কথা বলব।

প্রথমে, চলুন প্রতিটি ফাইল পৃথকভবে দেখা যাক।

class-submenu.php

ক্লাসটি অপশন পেইজে মেনু আইটেম যোগ করার জন্য রেস্পন্সিবলঃ

কোডেক্সে the API call পড়ে থাকলে, আপনি দেখবেন কিভাবে মেন্যু আইটেমে এখন Tools মেন্যুতে "Tuts+ Custom Messages" কাস্টম মেসেজ দেখাবে।

এখানে একটি init মেথড ব্যবহার করা হয়েছে। add_options_page ফাংশন রেজিস্টার করে, admin_menu হুক দিয়ে আমরা পেজের লাইফ সাইকেল শো করব।

আর manage_options সকলের একসেসিবল রাখতে submenu_page রেন্ডার করা হয়েছে।

সমস্যা? এখানে কোন সাব মেন্যু পেজ নেই।  আসুন একটি ক্লাস তৈরি করি।

class-submenu-page.php

ক্লাসের কোড নিচে দেয়া হলঃ

Submenu_Page ক্লাস বেশ সিম্পল এটি settings.php পেজ ডিসপ্লে করে, সেটা আমরা কিছুক্ষণের মধ্যেই দেখবো।

সকল সাবমেন্যু পেজ কিন্তু সিম্পল না, তবে, জটিল বিষয়গুলো আমরা এখনও শুরু করিনি। সেটা আমরা পরে দেখবো।

২। এডমিনিসট্রেশন পেইজ

Submenu_Page এর মত সেটিংস পেজও অনেক সিম্পল। বেশিক মার্কআপ বুঝলেই কি লেখা তা ধরতে পারবেনঃ

আমরা এই পেজটি কাস্টম মেসেজ শো করা ছাড়া আর কোণ কাজে ব্যবহার করব না।

এটাই এই টিউটোরিয়ালের মেইন টপিক।

৩। ব্যবহার শুরু করা

আমরা এই মুহুর্তে সেটাপের জন্য তৈরি। নিচে বেসিক ফাইলটি দেয়া হলঃ

foreach লুপের আগের কমেন্টটি খেয়াল করুন। আগেও অটোলোডিং নিয়ে কথা বলেছি, যদিও আগের টিউটোরিয়াল সবার পড়া নেই।

এটা ঠিক করা হয়ে গেলে, ওয়ার্ডপ্রেস একাউন্টে লগিন করে, প্লাগিন এক্টিভেট করা যাবে, আর নিচভের স্ক্রিনটি দেখা যাবে।

An example of the administration page

দেখা না গেলে, এখানে দেয়া কোডের সাথে নিজের কোড মিলিয়ে দেখে নিন।

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

উপসংহার

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

কোন প্রশ থাকলে কমেন্টে জানাতে পারেন, আমি উত্তর দিবো। এছাড়া আমার ব্লগ ফলো মি তে আমার সাথে যোগাযোগ করতে পারেন। আমি সাধারণত সফটওয়্যার ডেভেলাপমেন্ট ও ওয়ার্ডপ্রেস নিতে কথ আবলি।

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

রিসোর্সগুলি

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.