একটি WordPress থিম, সবচেয়ে সহজভাবে বললে, wp-content/themes/-এর ভেতরে ফাইলের একটি ফোল্ডার মাত্র। WordPress-কে সেই ফোল্ডারটি থিম হিসেবে চিনতে দেয় — আর Appearance → Themes থেকে সেটি সক্রিয় করতে দেয় — তা নির্ভর করে দুটো নির্দিষ্ট ফাইলের উপর।
style.css হলো একমাত্র ফাইল যা প্রতিটি থিমের থাকতেই হয়, আর তার CSS-এর জন্য নয় — WordPress এর একদম উপরের একটি কমেন্ট ব্লক পড়ে থিমের নাম, লেখক, আর ভার্সন জানতে:
/*
Theme Name: My Custom Theme
Theme URI: https://example.com/
Author: Your Name
Description: A custom theme built from scratch.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: my-custom-theme
*/দ্বিতীয় বাধ্যতামূলক অংশটি হলো কিছু একটা রেন্ডার করতে সক্ষম একটি টেমপ্লেট ফাইল — বাস্তবে এটি সবসময় index.php, কারণ এটি WordPress-এর ক্যাচ-অল ফলব্যাক হিসেবেও কাজ করে (টেমপ্লেট হায়ারার্কি পাঠে আরও বিস্তারিত)। শুধু এই দুটো ফাইলসহ একটি ফোল্ডার টেকনিক্যালি একটি বৈধ, সক্রিয়যোগ্য থিম, যদিও এটি প্রতিটি পাতায় একদম একইরকম দেখাবে।
বাস্তবে, একটি কার্যকর কাস্টম থিমে আরও বেশ কয়েকটি ফাইল থাকে, প্রতিটির একটি নির্দিষ্ট কাজ:
| ফাইল | উদ্দেশ্য |
|---|---|
| style.css | থিম মেটাডেটা (উপরে) — প্রায়ই মূল স্টাইলশিটও, যদিও আলাদা ফাইল enqueue করা প্রচলিত (enqueuing পাঠ দেখুন) |
| functions.php | থিম সেটআপ আর কাস্টম লজিক — কার্যকরভাবে এমন একটি প্লাগইন যা এই থিমের মধ্যে সীমাবদ্ধ |
| header.php | প্রতিটি পাতায় শেয়ার করা শুরুর HTML — <head>, সাইট হেডার, নেভিগেশন |
| footer.php | প্রতিটি পাতায় শেয়ার করা শেষের HTML — ফুটার কন্টেন্ট, ক্লোজিং ট্যাগ |
| index.php | সার্বজনীন ফলব্যাক টেমপ্লেট — আরও নির্দিষ্ট কিছু না মিললে WordPress এতে ফিরে আসে |
| page.php | স্ট্যান্ডঅ্যালোন পেজের টেমপ্লেট |
| single.php | পৃথক ব্লগ পোস্টের টেমপ্লেট |
| 404.php | অনুরোধ করা URL-এর সাথে কোনো কন্টেন্ট না মিললে দেখানো হয় |
| screenshot.png | Appearance → Themes-এ দেখানো থিম প্রিভিউ — বাধ্যতামূলক নয়, কিন্তু প্রতিটি আসল থিমে থাকে |
wp-content/themes/-এর ভেতরে আপনার থিমের নামে একটি নতুন ফোল্ডার তৈরি করুন (lowercase, হাইফেন দিয়ে যুক্ত — এটি থিমের slug হয়ে যায়, যা পুরো PHP কোড জুড়ে ব্যবহৃত হয় আর টেক্সট অনুবাদের জন্য ব্যবহৃত হয়)। উপরের হেডার কমেন্টসহ style.css আর একটি খালি index.php যোগ করুন, আর থিমটি ইতিমধ্যে দেখা যাবে — আর সক্রিয় করা যাবে — Appearance → Themes-এ।
স্ক্রিনশটের মাপ
screenshot.png হওয়া উচিত 1200×900 পিক্সেল (4:3 অনুপাত) — অন্য কিছু হলে WordPress এটি ক্রপ করে, কখনো কখনো বিশ্রীভাবে। এটি শুধু কসমেটিক, কিন্তু পরে ঠিক করার বদলে একবারেই ঠিক করা ভালো।
এই অংশের বাকি প্রতিটি পাঠ এই ফাইলগুলোর একটি করে সঠিকভাবে পূরণ করবে, শুরু হবে functions.php দিয়ে — যে ফাইলটি বাকি সবকিছুর সেটআপ করে।