পেজ অনুযায়ী সাইডবার
বিশেষ এক বা একাধিক পেজে ভিন্ন ভিন্ন উইজেট প্রদর্শনের জন্য অনেক ধরনের পদ্ধতি আছে। প্লাগিন ব্যবহার করে খুব সহজেই এটা করা যায়, বেশকিছু ভালো ভালো প্লাগিন আছে এই কাজের জন্য। আপনাকে কষ্ট করে কোডিং না করলেও চলবে। কিন্তু, যাদের আমার মতো হুটহাট প্লাগিন ব্যবহারে অ্যালার্জি আছে এবং হাত ময়লা করতে ভালবাসেন, তারা নিচে বর্ণীত পদ্ধতি অনুসরণ করে এই কাজটি সহজেই করতে পারবেন।
বিভিন্ন সাইডবার ফাইল
প্রতিটি ওয়ার্ডপ্রেস থিমে sidebar.php নামে একটি ফাইলের প্রয়োজন হয় উইজেট ধারণ করার জন্য, এবং get_sidebar() টেম্পলেট ট্যাগ পেজে যুক্ত করে উইজেটগুলো প্রদর্শন করানো হয়। এখন, বিশেষ বিশেষ পেজে ভিন্ন ভিন্ন উইজেট প্রদর্শনের জন্য আমরা একাধিক কাস্টমাইজড সাইডবার ফাইল তৈরি করতে পারি।
উদাহরণস্বরূপ, ধরি আমাদের একটি কন্টাক্ট পেজ আছে এবং চাচ্ছি যে এই পেজে বাঁকি পেজগুলো থেকে ভিন্ন রকমের উইজেট প্রদর্শন করাতে। এই পরিস্থিতিতে, আমরা একটি নতুন সাইডবার ফাইল তৈরি করে সেটিকে sidebar-contact.php মতো কিছু একটা নামে সেভ করতে পারি। এরপর, কন্টাক্ট টেম্পলেট (e.g. contact-us.php) ফাইলে নিচের পদ্ধতি অনুযায়ী নতুন সাইডবার কল করতে পারিঃ
get_sidebar(‘contact’);
যা কিছু sidebar-contact.php ফাইলে যুক্ত করা হবে সেটা শুধুই কন্টাক্ট পেজে প্রদর্শিত হবে, অন্য কোন পেজে প্রদর্শিত হবে না। এটিকে আমরা কন্ডিশনের মাধ্যমে আরেকটু ডাইনামিক করতে পারি। যেমন, page.php ফাইলে যেখানে সাইডবারকে কল করা হয়েছে সেটিকে আমরা নিচের কোডদ্বারা রিপ্লেস করে দিতে পারিঃ
if(is_page(‘contact’)) {
get_sidebar(‘contact’);
} else {
get_sidebar();
}
ভিন্ন সাইডবার রেজিস্টার করে
ডিফল্ট যেই সাইডবার আছে সেটিকে অনুসরণ করে আরেকটি সাইডবার তৈরি করেও আমরা ভিন্ন উইজেট দেখাতে পারি বিশেষ পেজের জন্য। উদাহরণস্বরূপ, ধরি আমরা টিউন (single.php) পেজে ভিন্ন রকমের উইজেট প্রদর্শন করাতে চাই। এটি করার জন্য নিচের কোড স্নিপেট functions.php ফাইলে যুক্ত করতে হবেঃ
function t4b_widget_areas() {
if (function_exists(‘register_sidebar’)) {
register_sidebar(array(
‘name’ => __(‘Single Page Sidebar’, ‘tips4blog’),
‘id’ => ‘single_page_sidebar’,
‘before_widget’ => ”,
‘after_widget’ => ”,
‘before_title’ => ”,
‘after_title’ => ”,
));
}
}
add_action(‘widgets_init’, ‘t4b_widget_areas’);
‘before_widget’, ‘after_widget’, ‘before_title’ এবং ‘after_title’ এর কোটেশনের মধ্যে আপনার থিমে সাইডবার রেজিস্ট্রেশনের জন্য যে কোড ব্যবহার করা হয়েছে তা বসিয়ে দিন।
এখন Appearance >> Widgets গেলে Single Page Sidebar নামে একটি নতুন সাইডবার পাওয়া যাবে। সেখানে আপনার পছন্দানুযায়ী উইজেটগুলো যুক্ত করুন। এবার উইজেটগুলো টিউন পেজে প্রদর্শনের জন্য sidebar.php ফাইলের যেখানে সাইডবার কল করা হয়েছে সেটিকে নিচের কোড স্নিপেটদ্বারা রিপ্লেস করে দিনঃ
if (is_single()) :
if (function_exists(‘dynamic_sidebar’) && dynamic_sidebar(‘Single Page Sidebar’)) : else :
endif;
else :
if (function_exists(‘dynamic_sidebar’) && dynamic_sidebar(‘right_sidebar’)) : else :
endif;
endif;
sidebar.php ফাইল পরিবর্তন করতে না চাইলে আপনি single.php ফাইলে যেখানে get_sidebar() কোড দিয়ে সাইডবারকে কল করা হয়েছে সেটিকে নিচের কোড স্নিপেটদ্বারা রিপ্লেস করে দিতে পারেনঃ
div class=”sidebar”
if (function_exists(‘dynamic_sidebar’) && dynamic_sidebar(‘Single Page Sidebar’)) : else :
endif;
/div
div এর মধ্যে যেই সিএসএস ক্লাস ব্যবহার করা হয়েছে সেটিকে আপনার sidebar.php ফাইলে ব্যবহৃত ক্লাসদ্বারা পরিবর্তন করে দিতে হবে।
ব্যস! কাজ শেষ! এবার যেকোনো একটি টিউন ওপেন করে দেখুন, অন্যান্য পেজে যেই উইজেটগুলো আছে তার থেকে টিউন পেজে ভিন্ন উইজেট প্রদর্শিত হচ্ছে। এভাবে আপনি অন্য যেকোনো পেজে ভিন্ন ভিন্ন উইজেট দেখাতে পারবেন। আশা করি কাজটি সঠিকভাবে করতে পারবেন।
সর্ব প্রথম প্রকাশিত এখনে
আমি সজিব হাসান। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 10 বছর 4 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 24 টি টিউন ও 35 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 1 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।