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

ওয়েব প্রোগ্রামিং ও বিভিন্ন ধরনের কনটেন্ট ম্যানেজমেন্ট সিস্টেম (সিএমএস) সংক্রান্ত আলোচনা।
Post Reply
User avatar
মানচুমাহারা
প্রশাসক
Posts: 2725
Joined: Wed Sep 12, 2007 12:47 pm
রক্তের গ্রুপ: A+
লাইসেন্স: সর্বস্বত্ব সংরক্ষিত
স্ট্যাটাস: আমি হয়তো মানুষ নই, মানুষগুলো অন্যরকম...
পছন্দ করি: যখন যা ভালো লাগে...
Location: মনের রাজ্যে ভবঘুরে
Contact:

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

Post by মানচুমাহারা » Sun Sep 06, 2009 4:11 pm

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

তিনঃ 'থীমে সাব থীম ফাইল যুক্ত করা'

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

Code: Select all

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

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

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

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

Code: Select all

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

Code: Select all

<?php get_sidebar('mycustomsidebar'); ?>
। মজা ?

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

Code: Select all

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>',
    ));
আর ক্লাসিকে এ এই রকমঃ

Code: Select all

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' => '',
	));

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

Code: Select all

// 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 এই ফাইলের ভেতর লিখুন

Code: Select all

<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('Sidebar Left2') ) : else : 
//write something here if u want but see the 'if' condition pls
?>	
	<?php endif; ?>
sidebar-sidebarleft2.php ফাইলটা থীমের যেখানে দরকার যুক্ত করুন এই ভাবে

Code: Select all

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

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

তো নেমে পড়ুন টেস্ট করতে !
লেখাটি আমার নিজের ব্লগে এখানে
আমার টেকব্লগঃ http://manchumahara.com
পিং করতে করতে শিং গজায়ে গেলো তবুও সার্ভার রেসপন্স করলো না

User avatar
murshed
প্রযুক্তি মনষ্ক
Posts: 424
Joined: Mon Dec 15, 2008 9:28 pm
লাইসেন্স: সর্বস্বত্ব সংরক্ষিত
স্ট্যাটাস: মান সম্মান দেয়ার মালিক আল্লাহ, নেয়ার মালিকও আল্লাহ....
পছন্দ করি: Song, Cricket, Watching Movie, Linux Mint, CentOS, Firefox, Joomla....
Location: Gournadi, Barisal.
Contact:

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

Post by murshed » Sun Sep 06, 2009 5:03 pm

প্রথমত শুকরিয়া জ্ঞাপন করছি তার সাথে ধন্যবাদ। আমিও মোটামুটি ওয়ার্ডপ্রেস ভিত্তিক সাইট তৈরী করি। টিপ্সটা আমার কাজে আসলো।

অনুপ
প্রযুক্তি মনষ্ক
Posts: 1085
Joined: Tue Jan 13, 2009 5:00 pm
লাইসেন্স: সর্বস্বত্ব সংরক্ষিত
Location: খুলনা
Contact:

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

Post by অনুপ » Mon Sep 07, 2009 12:19 am

ধন্যবাদ

User avatar
সেলিম রাজ
প্রযুক্তি মনষ্ক
Posts: 499
Joined: Fri May 08, 2009 6:41 pm
পছন্দ করি: ফটোশপ, ইন্টারনেটে ডুবদিতে,ফায়ারফক্স, গান শুনতে, কম্পিউটারের বারোটা বাজাতে(১ঘন্টা আগে), বাংলা ও বাংলাদেশ
Location: রাজশাহী...
Contact:

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

Post by সেলিম রাজ » Mon Sep 07, 2009 3:55 pm

কাজে লাগবে.. বুকমার্ক করে রাখলাম...
ধন্যবাদ মানচু ভাইয়াকে "ওয়ার্ড প্রেস টিপ্স" টপিক খুলার জন্য.. :thumb:
আশাকরি এরকম আরো অনেক টিপ্স পাব..

Post Reply

Return to “ওয়েব প্রোগ্রামিং ও সিএমএস”