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

প্লাগিন থেকে একটি কাস্টম ওয়ার্ডপ্রেস রেজিস্ট্রেশন ফরম তৈরি

by
Difficulty:IntermediateLength:LongLanguages:

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

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

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

ডিফল্ট রেজিস্ট্রেশন ফরমে মাত্র দুটি ফরম ফিল্ড আছে - ইউজারনেম এবং ইমেইল।

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

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

এটা Tuts+ এর মত অনেক লেখকের সমন্বয়ে গঠিত ওয়েবসাইটের ক্ষেত্রে বিশেষ করে প্রয়োজনীয়।

এই রচনায় আমরা, নিন্মলিখিত ফরম ফিল্ডগুলো নিয়ে একটি কাস্টম রেজিস্ট্রেশন ফরম প্লাগিন তৈরি করতে যাচ্ছি:

  • ইউজারনেম
  • পাসওয়ার্ড
  • ইমেইল
  • ওয়েবসাইট URL
  • প্রথম নাম
  • শেষ নাম
  • ডাকনাম
  • জীবনী (অথবা ব্যবহারকারী সম্পর্কে একটি অধ্যায়)

কাস্টম রেজিস্ট্রেশন ফর্ম পরবর্তীতে প্লাগ-ইন শর্টকোড ও সহযোগী টেমপ্লেট ট্যাগ ব্যবহার ওয়ার্ডপ্রেসের যেকোনো জায়গায় ব্যবহার করা যেতে পারে।

শর্টকোড দিয়ে, আপনি একটি পেইজ তৈরি করতে পারবেন এবং আপনার ওয়েবসাইটের জন্য এটাকে অফিশিয়াল রেজিস্ট্রেশন পেইজও বানাতে পারবেন। একই সাথে এই শর্টকোডটি আপনার কোন পোস্টের সাথেও ব্যবহার করতে পারবেন যাতে ব্যবহারকারীরা কোনও রচনা পড়ার পর আপনার সাইটে সাইনআপ করতে পারে।

আপনি যদি রেজিস্ট্রেশন ফরমটি আপনার ওয়েবসাইটের সাইডবার অথবা কোনও নির্দিষ্ট লোকেশনে যোগ করতে চান, তবে টেম্পলেট ট্যাগটি আপনার পছন্দের জায়গায় রাখার পরই ওয়ার্ডপ্রেস থিমটি সম্পাদনা করতে পারবেন।

আমাদের রেজিস্ট্রেশন ফরম প্লাগিনটি তৈরি করতে শুরু করার আগে, প্রয়োজনীয় ইউজারনেম, পাসওয়ার্ড, ইমেইল ফিল্ড তৈরি করার জন্য তেমন কিছুই প্রয়োজন হয় না।

কিন্তু আমরা ভেলিডেশন বা বৈধতার ফাংশন লেখার সময় এই নিয়মটি প্রয়োগ করবো।

প্রিমিয়াম অপশন

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

WordPress Registration Form plugin on Envato Market
এনভেটো মার্কেটে ওয়ার্ডপ্রেস রেজিস্ট্রেশন ফরম প্লাগিন।

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

উদাহরনস্বরূপ, Alisaleem252 এমন একটি কাস্টমাইজ ওয়ার্ডপ্রেস প্লাগিন ডেভেলপ করতে পারেন যেটা আপনার চাহিদা অনুযায়ী সর্বশেষ ওয়ার্ডপ্রেস ভার্শন এবং ওয়ার্ডপ্রেস ভাণ্ডারের অন্যান্য প্লাগিনের সাথেও সঙ্গতিপূর্ণ হবে।  

আপনি পাবেন:

  • কাস্টম উইজেট যদি তা দরকার হয়।
  • কাস্টম শর্টকোড যদি তা দরকার হয়।
  • কাস্টম পোস্ট টাইপ যদি তা দরকার হয়।
  • নির্ভরযোগ্য সেবা।
Custom WordPress Plugin Development
কাস্টম ওয়ার্ডপ্রেস প্লাগিন ডেভেলপমেন্ট

পূর্ণ সেবা পেতে মাত্র $300 খরচ হবে, এবং আপনার প্লাগিনটি মাত্র ১০ দিনেই প্রস্তুত হবে। Alisaleem252 এর পূর্ববর্তী ক্লায়েন্টদের থেকে প্রায় ৯৮% গ্রহনযোগ্যতা আছে। তাহলে কেন তার জনপ্রিয় কাস্টম ওয়ার্ডপ্রেস প্লাগিন ডেভেলপমেন্ট সেবাটি গ্রহন করবেন না! 

প্লাগিন তৈরি

যেমন বলেছি, চলুন এবার প্লাগিনটি কোডিং করতে শুরু করি। প্রথমে, প্লাগিনের হেডার যোগ করুন।

এরপর, আমরা পিএইচপি ফাংশন তৈরি করবো যাতে রেজিস্ট্রেশন ফরম থেকে HTML কোডটি থাকবে।

লক্ষ্য করুন, উপরের ফাংশনে রেজস্ট্রেশন ফিল্ডগুলো ভেরিয়েবল হিসেবে পার হয়েছে কি? ফাংশন কোডটিতে, আপনি নিন্মলিখিত কোডটির উদাহরণ দেখতে পাবেন, যেমনঃ

( isset( $_POST['lname'] ) ? $last_name : null )

টার্নারি অপারেটরটি গ্লোবাল $_POST অ্যারের বিষয়গুলি পরীক্ষা করে দেখছে যে ফর্মটিতে একটি ভ্যালু বা মান রয়েছে কিনা। যদি এটাতে কোনও মান বা ভ্যালু থাকে, তবে তা ফরম ফিল্ডে প্রদর্শন করা হয়ে থাকে, যাতে ব্যবহারকারীকে পুনরায় এটি প্রবেশ করাতে না হয়।

একটি নিবন্ধন ফর্ম সম্পূর্ণ হবে না, যতক্ষণ না আপনি ব্যবহারকারীর ইনপুটটি যাচাই এবং ঝামেলামুক্ত না করবেন। তাই, আমরা registration_validation নামে একটি ভেলিডেশন ফাংশন তৈরি করবো।

ভেলিডেশনের ঝামেলা এড়াতে, আমরা ওয়ার্ডপ্রেস WP_Error ক্লাস ব্যবহার করবো। আমি কীভাবে ভেলিডেশন ফাংশন কোড করি, সেটা অনুসরণ করুনঃ

  1. ফাংশন তৈরি করুন এবং রেজিস্ট্রেশন ফিল্ডগুলো ফাংশন আর্গুমেন্ট বা যুক্তি হিসেবে পার করুন।
  2. WP_Error ক্লাসটিকে উদাহরণ হিসেবে ব্যবহার করুন এবং ইন্সট্যান্স ভেরিয়েবলটিকে গ্লোবাল হিসেবে তৈরি করুন, যাতে এটা ফাংশনের নির্ধারিত সু্যোগের বাইরেও ব্যবহার করা যায়।
  3. মনে রাখবেনঃ ইউজারনেম, পাসওয়ার্ড এবং ইমেইল অবশ্যই দরকার এবং কোনভাবেই বাদ দেয়া যাবে না। এই নিয়মটি জোরদার করার জন্য, আমাদের দেখতে হবে এই ফিল্ডগুলোর কোনটি খালি আছে কিনা। যদি খালি থাকে, তাহলে ত্রুটি বার্তা বা এরর ম্যাসেজটি গ্লোবাল WP_Error ক্লাসের সাথে যুক্ত করতে হবে।
  4. আমাদের অবশ্য এটাও দেখতে হবে যে, ইউজারনেমের মোট অক্ষর যেন কিছুতেই ৪ এর নীচে না হয়।
  5. ইউজারনেম ইতিমধ্যেই রেজিস্টার করা হয়েছে কিনা তা চেক করা।
  6. validate_username ফাংশন ব্যবহার করে এটা নিশ্চিত হওয়া যে, ইউজারনেমটি ভেলিড বা বৈধ।
  7. ব্যবহারকারীর প্রদেয় পাসওয়ার্ডটি যাতে কিছুতেই ৫ অক্ষরের নীচে না হয় তা নিশ্চিত করা।
  8. ইমেইলটি ভেলিড বা বৈধ কিনা তা পরীক্ষা করে দেখা।
  9. ইমেইলটি ইতিমধ্যেই রেজিস্টার করা হয়েছে কিনা তা পরীক্ষা করা।
  10. ওয়েবসাইট ফিল্ডগুলো যদি পূর্ণ থাকে, তবে এগুলো ভেলিড বা বৈধ কিনা তা পরীক্ষা করে দেখা।
  11. পরিশেষে, আমরা আমাদের ত্রুটি মেসেজগুলো WP_Error উদাহরণের মাধ্যমে লুপ তৈরি করবো এবং প্রত্যকটি আলাদা ত্রুটির জন্য পৃথক পৃথক বার্তা প্রদর্শন করবো।
    আমরা ভেলিডেশন বা বৈধকরণ ফাংশনটি কোড করা শেষ করেছি।

তারপরেরটা হচ্ছে প্লাগিনের complete_registration() ফাংশন যা ব্যবহারকারী নিবন্ধন বা রেজিস্ট্রেশন পরিচালনা করে।
ব্যবহারকারী নিবন্ধন বা ইউজার রেজিস্ট্রেশন আসলে wp_insert_user ফাংশন দ্বারা সম্পন্ন হয়ে থাকে যা ব্যবহারকারীর তথ্য সমূহের বিন্যাস বা অ্যারে স্বীকার করে নেয়।

উপরের complete_registration() ফাংশনে, আমরা $reg_errors WP_Error দৃষ্টান্ত হিসেবে এবং ফরম ফিল্ড ভেরিয়েবল গ্লোবাল হিসেবে তৈরি করেছি যাতে বিশ্বের যেকোনো প্রান্ত থেকে ওয়েবসাইটে প্রবেশ না করেও এই ভেরিয়েবলগুলোতে প্রবেশ করতে পারি।

এরপর আমরা পরীক্ষা করে দেখবো যে $reg_errors এর মাধ্যমে ত্রুটি পরিচালনার ক্ষেত্রে কোন ত্রুটি আছে কিনা। যদি কোন ত্রুটি না পাওয়া যায়, তাহলে আমরা $userdata অ্যারে পূরণ করতে এগিয়ে যাবো এবং ব্যবহারকারী নিবন্ধনের বিবরণ ওয়ার্ডপ্রেস ডাটাবেসে প্রবেশ করাবো। তারপর লগিন লিঙ্ক সহ একটি নিবন্ধন সম্পন্ন বার্তা প্রদর্শন করবো।  

তারপর হচ্ছে, সুপার custom_registration_function() যার মধ্যে উপরে তৈরিকৃত সমস্ত ফাংশনগুলো কাজ করবে।

চলুন, custom_registration_function() ফাংশনের মধ্যে কি কি কোড আছে তা ব্যখ্যা করা যাক।

প্রথমতঃ, আমাদেরকে নির্ধারণ করতে হবে যে, যদি $_POST['submit'] সেট করা হয় তবে তা যাচাই করে ফর্ম জমা দেওয়া হয়েছে কি না। যদি ফর্মটি ইতিমধ্যেই জমা দেয়া হয়ে থাকে, তাহলে আমরা registration_validation ফাংশনটি কল করে ব্যবহারকারীর জমা দেয়া ফর্মটি ভ্যালিডেট বা বৈধ করবো।

আমরা তারপর ফরম ডাটা পরিচ্ছন্ন করে এগুলোকে ফরম ফিল্ডের পরে ভেরিয়েবল নামের সাথে যুক্ত করবো। অবশেষে, আমরা complete_registration কল করে ব্যবহারকারী নিবন্ধন করবো।

আমাদের রেজিস্ট্রেশন ফর্মটি প্রদর্শন করার জন্য registration_form ফাংশনটি কল করা প্রয়োজন।

মনে আছে কি, আমি রেজিস্ট্রেশন প্লাগিনের জন্য শর্টকোড সাপোর্ট প্রদান করার কথা বলেছিলাম? নীচে শর্টকোডের জন্য সাপোর্ট কোড দেয়া হলো।

এই মুহূর্তে, আমরা প্লাগিনটি কোডিং করা সম্পন্ন করেছি। নীচে রেজিস্ট্রেশন ফর্মটি কেমন হবে তা দেখানো হলো।

লক্ষ্য করুন, আপনি আপনার ওয়ার্ডপ্রেস সাইটে CSS স্টাইলের পার্থক্যের কারণে হুবহু একই রকম রেজাল্ট নাও পেতে পারেন।  

প্লাগিনের ব্যবহার

প্লাগিনটি ওয়ার্ডপ্রেসের যেকোনো পোস্ট বা পেইজে প্রবেশ করাতে, এই শর্টকোডটি ব্যবহার করুন [cr_custom_registration]

রেজিস্ট্রেশন ফরমটি আপনার থিমের নির্দিষ্ট জায়গায় প্রদর্শন করতে, নীচের টেম্পলেট ট্যাগটি যোগ করুন - <?php custom_registration_function(); ?>
আপনি এই নিবন্ধের অ্যাটাচমেণ্ট থেকে প্লাগিন ফাইলটি ডাউনলোড করে নিতে পারেন।

সারাংশ

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

আপনার যদি কোনও প্রশ্ন বা উপদেশ থাকে, তাহলে কমেন্টে আমাকে জানাতে পারেন!

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

Advertisement
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.