ওয়ার্ড প্রেস টিপ্স২

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

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

< ?php include (TEMPLATEPATH . '/yourfilename.php'); ?>

yourfilename.php নামের ফাইলটি আপনার বর্তমান এক্টিভ বা যে থীম নিয়ে কাজ করছেন তার ভেতর রাখুন। আর অন্য থীম ফাইলের যেখানে দরকার সেখানে ব্যবহার করুন। TEMPLATEPATH আপনার বর্তমান থীমের ডিরেক্টরী। প্রশ্ন করতে পারেন এমন ঝামেলা কেন করবো বা এটার সুবিধা কি তাই তো ? হুম… ওয়ার্ড প্রেস দিয়েই আপনি চাইলে জুমলার মতো সাইটে বানিয়ে ফেলতে পারেন। জুমলাতে আমরা মডুল প্লেস হিসাবে যা বলে থাকি ওয়ার্ড প্রেসে তাকে বলা হয় সাইডবার(sidebar) আর মডুল গুলোকে ওয়ার্ড প্রেসের ভাষায়(বলা যেতে পারে) উইজেস(widget). আপনি চাইলে ওয়ার্ড প্রেসে যত ইচ্ছা সাইড বার ব্যবহার করতে পারেন তবে আপনার থীমে সেই সাপোর্ট থাকতে হবে। এই বিষয়টা নিয়ে পরের পোস্টে লিখি তাহলে।

চারঃ ‘ওয়ার্ড প্রেসে যত ইচ্ছা সাইড বার যুক্ত করা’

প্রথমেই বলে রাখি নতুন কিছু জানার আগ্রহ না থাকলে বা এক্সপেরিমেন্ট করার ইচ্ছা না থাকলে এখনই মানে মানে কেটে পড়তে পারেন না হলে পরে পস্তাবেন। :ttt:

‘তিন’ নং টিপ্সের কিছু বলা দরকার। ওয়ার্ডপ্রেসে আমরা নিচের কোড টুকু দিয়ে সাইডবার ফাইলটি লোড করি।

< ?php get_sidebar(); ?>

এটা যা করে তা হলো থীমের ভেতর sidebar.php ফাইলটা include করে। এখন যদি আপনার বিশেষ পাতায় বিশেষ কোড লেখা সাইড বার দরকার হয় তাহলে কি করবেন সেটা যদি এখনও না ভেবে থাকেন তাহলে আপনার উপর আমি এখনি কিন্তু খেপে গেছি। >:D< হ্যাঁ সেই আগের ট্রিক্স এখন যে সাইড বার ফাইলটা আছে সেটা কপি করে নতুন ফাইলে হিসাবে সেইভ করুন আর নাম দিন আগের সেই ফরম্যাটে যেমন sidebar-mycustomsidebar.php আর এই ফাইলে নিজের ইচ্ছা মতো পরিবর্তন করুন। আর এটা লোড করুন এই ভাবে

<?php get_sidebar('mycustomsidebar'); ?>

। মজা ?

ওহ এখন সাইডবার যত ইচ্ছা বা মডুল পজিশন কিভাবে বানাবো সেটা বলি। যদি আপনি এডমিন প্যানেল থেকে ওয়ার্ড প্রেসের ডিফল্ট থীম পছন্দ করেন কিংবা ক্লাসিক থীম পছন্দ করেন তাহলে দেখবেন সাইডবার মাত্র একটা যা ফ্রন্ট এন্ডে ডান দিকে বা বাম দিকে দেখানো হয়। একটা সাইডবারের কারণ এই একটা সাইড বারই থীমে যুক্ত করা যা থীমের ভেতর functions.php ফাইলটা দেখলে বুঝতে পারবেন। কোড default থীমে এই রকমঃ

if ( function_exists('register_sidebar') )
    register_sidebar(array(
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget' => '</li>',
        'before_title' => '<h2 class="widgettitle">',
        'after_title' => '</h2>',
    ));

আর ক্লাসিকে এ এই রকমঃ

if ( function_exists('register_sidebar') )
	register_sidebar(array(
		'before_widget' => '<li id="%1$s" class="widget %2$s">',
		'after_widget' => '</li>',
		'before_title' => '',
		'after_title' => '',
	));

?>

এখন দেখুন আমার নিজের বানানো একটা থীমে আমি কতগুলোস সাইডবার ব্যবহার করেছিঃ

// sidebar stuff
if ( function_exists('register_sidebar') )
{
	register_sidebar(array('name' => 'Sidebar Left1','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Left2','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Bottom','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Popular','before_widget' => '','after_widget' => '','before_title' => '<h4 class="expandable">','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Poll','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Quotes','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Newsletter','before_widget' => '<div class="widget_letter">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar BlogPage','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Bloggeronline','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Frontadvertise','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Blogadvertise','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
	register_sidebar(array('name' => 'Sidebar Readsubscribe','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>'));
}

যদি নিচের লাইন খেয়াল করুন

register_sidebar(array('name' => 'Sidebar Left2','before_widget' => '<div class="widget">','after_widget' => '</div>','before_title' => '<h4>','after_title' => '</h4>')); 

এখানে register_sidebar ফাংশন ইনপুট হিসাবে একটি এসোসিয়েটিভ array। যদি name হিসাবে কিছু না দেওয়া হয় তাহলে এডমিন থেকে সাইড বারগুলো Sidebar(1), Sidebar(2) এই ভাবে দেখাবে। কিন্তু এডভান্সড থীম বানানর জন্য এবং সাইট ওনারকে সম্পূর্ণ সিএমএসের স্বাদ দিতে sidebar এর নাম দেওয়া জরুরী। এখন যদি আপনি উপরের ‘Sidebar Left2’ নামে সাইডবারটি থীমে কোথাও লোড করতে চান তাহলে অর্গানাইজড ভাবে লিখতে পারেন এই রূপঃ
আগে একটা ফাইল তৈরি করুন sidebar-sidebarleft2.php এই ফাইলের ভেতর লিখুন

< ?php if ( function_exists('dynamic_sidebar') &amp;amp;&amp;amp; dynamic_sidebar('Sidebar Left2') ) : else :
//write something here if u want but see the 'if' condition pls
?>
	< ?php endif; ?>

sidebar-sidebarleft2.php ফাইলটা থীমের যেখানে দরকার যুক্ত করুন এই ভাবে

< ?php get_sidebar('sidebarleft2'); ?>

এখন আপনি এডমিন থেকে widgets গিয়ে Sidebar Left2 সাইডবারে যে যে উইজেস গুলো রাখবেন সেইগুলো শো করবে এই sidebar-sidebarleft2.php এই ফাইলটা। আশা এখন পর্যন্ত ধৈর্য হারা হয়ে যাননি… হা হা হা

আজকের বোনাস টপ্সঃ ধরুন আপনি চাইছেন একটা নির্দিষ্ট ক্যাটাগরীর পাতা অন্য রকম ভাবে দেখাতে। অহ আচ্ছা আপনি কি জানেন যখন আমরা ওয়ার্ড প্রেসে কোন ক্যাটাগরীতে ক্লিক করি তখন ওয়ার্ড প্রেসে টেমপ্লেট ইঞ্জিন প্রথমে category.php(কিছুটা ভুল বলছি এখনো) নামের ফাইল খুঁজে। কিন্তু তার আগে খুঁজে দেখে যে আইডির ক্যাটাগরীতে ক্লিক করা হয়েছে সেই আইডির ফরম্যাটে কোন ফাইল আছে নাকি। যেমন- ধরুন আপনি 6 আইডির ক্যাটাগরীতে ক্লিক করলাম তাহলে category-6.php এই ফাইলটা আগে খুঁজবে। তো আপনি যা করবেন তা হলো আপনার থীমের category.php ফাইলটা কপি করে নাম দিন category-6.php আর নিজের দরকার মতো পরিবর্তন করে নিন। মু হা হা

তো নেমে পড়ুন টেস্ট করতে !

5 Responses to “ওয়ার্ড প্রেস টিপ্স২”

  1. অসংখ্য ধন্যবাদ গুরুত্বপূর্ন সব টিপসের জন্য । পরবর্তী পোষ্টের অপেক্ষায় থাকলাম । ভাল থাকবেন । 😀

Leave a Reply

Your email address will not be published. Required fields are marked *