WordPress একটা থিম তৈরি করতে হলে কি কি ফাইল থাকা প্রয়োজন?
একটা থিম তৈরি করতে হলে বেশ কিছু ফাইল দরকার হয়, যা মূলত থিমের বিভিন্ন ফাংশন এবং ডিজাইন নিয়ন্ত্রণ করে। সাধারণত থিমের ক্ষেত্রে যে ফাইলগুলো দরকার হয়, তা হলো:
- style.css:
এটি থিমের মূল স্টাইলশিট ফাইল। এই ফাইলে থিমের ডিজাইন ও লেআউট সংক্রান্ত CSS কোড থাকে। এটাতে থিমের নাম, ভার্সন, এবং লেখকের তথ্যও উল্লেখ থাকে। - index.php:
থিমের মূল টেমপ্লেট ফাইল। এটা থিমের প্রধান পৃষ্ঠা (homepage) তৈরির জন্য ব্যবহৃত হয়। এই ফাইলটা না থাকলে থিম কাজ করবে না। - functions.php:
এই ফাইলটি থিমের ফাংশন, হুক, এবং অ্যাকশন হ্যান্ডেল করতে ব্যবহৃত হয়। এতে থিমের বিভিন্ন কাস্টমাইজেশন, মেনু রেজিস্ট্রেশন ইত্যাদি ফাংশন যোগ করা যায়। - header.php:
প্রতিটি পৃষ্ঠার উপরের অংশ (header) তৈরির জন্য এই ফাইলটি ব্যবহৃত হয়। সাধারণত এতে সাইটের নাম, লোগো, মেনু এবং অন্যান্য তথ্য থাকে। - footer.php:
প্রতিটি পৃষ্ঠার নিচের অংশ (footer) তৈরি করতে এই ফাইলটি ব্যবহার করা হয়। এতে কপিরাইট বা অন্য কোন তথ্য থাকে। - sidebar.php:
সাইডবার তৈরি করার জন্য এই ফাইলটি ব্যবহৃত হয়। এতে উইজেট, মেনু, এবং অন্যান্য সাইডবার উপাদান রাখা যায়। - page.php:
থিমের বিভিন্ন পৃষ্ঠা (page) কন্টেন্ট দেখানোর জন্য এই ফাইলটি দরকার হয়। - single.php:
কোন নির্দিষ্ট পোস্টের ডিটেইল দেখানোর জন্য এই ফাইলটি ব্যবহৃত হয়। - screenshot.png:
থিমের ড্যাশবোর্ডে প্রদর্শিত হওয়া জন্য থিমের একটি প্রিভিউ ইমেজ প্রয়োজন হয়। সাধারণত এর সাইজ হয় 1200×900 পিক্সেল।
অন্যান্য ফাইল:
- archive.php: আর্কাইভ পেজের জন্য।
- search.php: সার্চ রেজাল্ট দেখানোর জন্য।
- 404.php: কোন পেজ না পাওয়া গেলে যে ফাইলটি লোড হয়।
এই ফাইলগুলো মিলেই একটি থিম তৈরি হয়। তবে থিমের জটিলতা অনুযায়ী আরো অনেক ফাইল যোগ করা যেতে পারে।
একটা থিম তৈরি করতে গেলে উপরের উল্লেখিত ফাইলগুলো ছাড়া আরও কিছু বিষয় জানা প্রয়োজন, যাতে থিমটি ব্যবহারকারীর জন্য সহজে কাস্টমাইজেবল হয় এবং উন্নত অভিজ্ঞতা প্রদান করতে পারে। নিচে আরও কিছু গুরুত্বপূর্ণ বিষয় নিয়ে আলোচনা করা হলো:
১. Responsive Design
একটি থিম মোবাইল, ট্যাবলেট এবং ডেস্কটপের জন্য রেসপন্সিভ হতে হবে। CSS মিডিয়া কুয়েরি এবং ফ্লেক্সবক্স/গ্রিড লেআউট ব্যবহার করে রেসপন্সিভ ডিজাইন নিশ্চিত করা যায়।
২. Theme Customizer Support
ব্যবহারকারীরা যদি থিম কাস্টমাইজ করতে চায়, তবে থিম কাস্টমাইজার অপশন দিতে হয়। এর জন্য functions.php
ফাইলে থিম কাস্টমাইজার API দিয়ে বিভিন্ন সেটিংস যোগ করতে হয়, যেমন:
- সাইটের লোগো এবং ফেভিকন আপলোড
- হেডার এবং ফুটারের কালার পরিবর্তন
- ব্যাকগ্রাউন্ড ইমেজ বা কালার পরিবর্তন
৩. Widget Areas
অনেক থিমে বিভিন্ন জায়গায় (যেমন সাইডবার, ফুটার) উইজেট যোগ করার অপশন থাকে। এজন্য থিমে উইজেট এরিয়া তৈরি করতে হয়, যাতে ব্যবহারকারীরা সহজেই তাদের কাস্টম কন্টেন্ট বা প্লাগইন উইজেট ব্যবহার করতে পারে।
// উইজেট এরিয়া রেজিস্ট্রেশন
function my_theme_widgets_init() {
register_sidebar(array(
'name' => 'Sidebar Widget Area',
'id' => 'sidebar-1',
'before_widget' => '<div class="widget">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
}
add_action('widgets_init', 'my_theme_widgets_init');
৪. Navigation Menus
থিমে মেনু সাপোর্ট দিতে হলে functions.php
ফাইলে মেনু রেজিস্ট্রেশন করতে হয়। এতে করে ব্যবহারকারী থিমের হেডার, ফুটার বা সাইডবারে নেভিগেশন মেনু যুক্ত করতে পারে।
// মেনু রেজিস্ট্রেশন
function my_theme_menus() {
register_nav_menus(array(
'primary' => 'Primary Menu',
'footer' => 'Footer Menu',
));
}
add_action('init', 'my_theme_menus');
৫. Template Parts
একটি থিমে অনেক সময় ভিন্ন ভিন্ন পেজ বা পোস্টের জন্য বিভিন্ন ধরনের লেআউট দরকার হয়। এজন্য থিমে টেমপ্লেট পার্টস ব্যবহার করা যায়। এতে মূল টেমপ্লেট ফাইলের কোডকে ছোট ছোট অংশে ভাগ করে আরও সহজে মেইনটেইন করা যায়। উদাহরণ:
- content.php
- content-single.php
// টেমপ্লেট পার্ট লোড করা
get_template_part('template-parts/content', 'single');
৬. Internationalization (i18n)
যদি থিমটি বিভিন্ন ভাষায় ব্যবহার করতে হয়, তবে থিমের কোডে এমনভাবে টেক্সটগুলো লেখা উচিত, যাতে সেগুলো অনুবাদযোগ্য হয়। এজন্য WordPress এর __()
বা _e()
ফাংশন ব্যবহার করতে হয়।
_e('Hello, World!', 'my-theme');
৭. Enqueue Scripts and Styles
থিমে সঠিকভাবে CSS এবং JS ফাইলগুলো লোড করতে হলে wp_enqueue_style()
এবং wp_enqueue_script()
ফাংশন ব্যবহার করতে হয়।
function my_theme_enqueue_scripts() {
wp_enqueue_style('theme-style', get_stylesheet_uri());
wp_enqueue_script('theme-script', get_template_directory_uri() . '/js/script.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'my_theme_enqueue_scripts');
৮. SEO-Friendly Structure
থিম তৈরির সময় SEO ফ্রেন্ডলি কোড স্ট্রাকচার বজায় রাখা গুরুত্বপূর্ণ। এর জন্য সঠিক HTML ট্যাগ (যেমন: <header>
, <article>
, <section>
, <footer>
) ব্যবহার করতে হবে এবং থিমের টাইটেল ও মেটা ডেটা সঠিকভাবে হ্যান্ডেল করতে হবে।
৯. Accessibility
একটি থিমকে অ্যাক্সেসিবল রাখা জরুরি। স্ক্রিন রিডার ব্যবহারকারীরা যাতে সহজেই থিমটি ব্যবহার করতে পারে, তার জন্য প্রয়োজনীয় ARIA লেবেল, কিবোর্ড নেভিগেশন, এবং কনট্রাস্ট রেশিও ঠিক রাখা উচিত।
১০. Gutenberg Block Support
থিম যদি WordPress এর নতুন ব্লক এডিটর (Gutenberg) এর জন্য সাপোর্ট দেয়, তবে থিমে কাস্টম ব্লক টেমপ্লেট এবং স্টাইল যোগ করা উচিত। এর জন্য add_theme_support('align-wide');
, add_theme_support('editor-styles');
এর মতো ফাংশনগুলো ব্যবহার করতে হয়।
এই তথ্যগুলো আপনাকে একটি পূর্ণাঙ্গ এবং কার্যকর থিম তৈরি করতে সাহায্য করবে। যেকোনো থিমের ক্ষেত্রে এ ধরনের ফাইল এবং ফিচারগুলো গুরুত্ব রাখে।