Comment

থিম ফাংশনালিটি

কন্ডিশনাল ট্যাগসমুহ

Estimated reading: 3 minutes 11 views Contributors

নির্ধারিত শর্তাধীন ট্যাগগুলি (Conditional Tags) ব্যবহার করে আপনি আপনার টেমপ্লেট ফাইলগুলিতে কী কন্টেন্ট দেখাবে এবং কীভাবে দেখাবে তা নির্ধারণ করতে পারেন। এটি নির্ভর করে যে নির্দিষ্ট পেজটি কোন শর্ত পূরণ করে তার উপর।

উদাহরণস্বরূপ, আপনি আপনার ব্লগের মেইন পেজে পোস্টগুলির তালিকার উপরে একটি ছোট্ট লেখা ডিসপ্লে করতে চাইতে পারেন। এই কাজটি সহজেই is_home() শর্তাধীন ট্যাগ ব্যবহার করে করা সম্ভব।

মনে রাখবেন এই ট্যাগগুলির সাথে ওয়ার্ডপ্রেস টেমপ্লেট হায়ারার্কির (WordPress Template Hierarchy) একটি ঘনিষ্ঠ সম্পর্ক রয়েছে।

সতর্কীকরণ: ওয়ার্ডপ্রেসে posts_selection অ্যাকশন হুকের পরেই কেবল শর্তাধীন কুয়েরি ট্যাগগুলি ব্যবহার করা যেতে পারে (wp অ্যাকশন হুক হল প্রথম হুক যার মাধ্যমে আপনি এই শর্তাধীন ট্যাগগুলি ব্যবহার করতে পারেন)। থিমগুলির ক্ষেত্রে, এর অর্থ হল functions.php ফাইলের মেইন অংশে (body) এই শর্তাধীন ট্যাগগুলি কখনই সঠিকভাবে কাজ করবে না, অর্থাৎ কোনও ফাংশনের বাইরে এগুলি ব্যবহার করা যাবে না।

তবে, যদি আপনার কাছে কুয়েরি অবজেক্টের (query object) একটি রেফারেন্স থাকে (উদাহরণস্বরূপ, parse_query বা pre_get_posts হুকের ভেতর থেকে), তাহলে আপনি WP_Query ক্লাসের শর্তাধীন মেথডগুলি ব্যবহার করতে পারেন (যেমন: $query->is_search())।

মেইন পেজ

is_home()

যখন মেইন ব্লগ পেজ ডিসপ্লে হয়। এটি সেই পেজ যা আপনার সাইটের সময়-ভিত্তিক ব্লগ কন্টেন্ট দেখায়। তাই যদি আপনি ফ্রন্ট পেজের জন্য একটি স্ট্যাটিক পেজ সেট করে থাকেন (নিচে দেখুন), তাহলে এটি শুধুমাত্র সেই পেজে true হবে যা আপনি “পোস্ট পেজ” হিসাবে সেট করেছেন Administration Settings Reading -এ।

ফ্রন্ট পেজ

is_front_page()

যখন সাইটের সামনের অংশ ডিসপ্লে হয়, তা পোস্ট হোক বা পেজ। মেইন ব্লগ পেজ ডিসপ্লে হলে এবং Settings Reading - Front page displays “Your latest posts” এ সেট করা থাকলে True রিটার্ন করে, অথবা যখন Settings > Reading -> Front page displays[/diretion] “A static page” এ সেট করা থাকে এবং “Front Page” ভেলু বর্তমান পেজটি ডিসপ্লে হচ্ছে।

ব্লগ পেজ

is_front_page() এবং is_home()

ব্লগ পেজটি সনাক্ত করার জন্য কোন শর্তাধীন ট্যাগ নেই। আপনাকে এই পেজটি সনাক্ত করার জন্য is_home() এবং is_front_page() উভয় ফাংশন ব্যবহার করতে হবে, তবে এই ফাংশনগুলি ভুলভাবে ব্যবহার করা হতে পারে। প্রকৃতপক্ষে, একজন ইউজার হোমপেজের জন্য একটি স্ট্যাটিক পেজ এবং ব্লগ দেখানোর জন্য অন্য একটি পেজ নির্ধারণ করতে পারেন। হোমপেজ না হলেও is_home() ফাংশনটি এই পেজের জন্য true (সত্য) ভেলু প্রদান করবে। একজন ইউজার নিম্নলিখিত বিষয়গুলো নির্ধারণ করতে পারেন:

  • একটি ডিফল্ট হোমপেজ (সর্বশেষ পোস্ট সহ)
  • একটি স্ট্যাটিক হোমপেজ এবং কোন ব্লগ পেজ নেই
  • একটি স্ট্যাটিক হোমপেজ এবং একটি ব্লগ পেজ

is_home() এবং is_front_page() ব্যবহার করার সময়, আপনাকে বাগ এড়াতে এবং প্রতিটি ইউজারের কনফিগারেশন পরীক্ষা করার জন্য সেগুলিকে সঠিক সিরিয়ালে ব্যবহার করতে হবে।

if ( is_front_page() && is_home() ) {
// Default homepage
} elseif ( is_front_page() ) {
// static homepage
} elseif ( is_home() ) {
// blog page
} else {
//everything else
}

অ্যাডমিনিস্ট্রেশন প্যানেল

is_admin()

  • যখন ড্যাশবোর্ড বা অ্যাডমিনিস্ট্রেশন প্যানেলগুলি ডিসপ্লে হচ্ছে।

is_network_admin()

  • যখন মাল্টিসাইটের জন্য নেটওয়ার্ক ড্যাশবোর্ড বা নেটওয়ার্ক অ্যাডমিনিস্ট্রেশন প্যানেলগুলি ডিসপ্লে হচ্ছে।

সতর্কতা: wp-login.php পেজটি কোনো অ্যাডমিন পেজ নয়। এই পেজটি ডিসপ্লে হচ্ছে কিনা তা পরীক্ষা করতে, admin গ্লোবাল ভ্যারিয়েবল $pagenow ব্যবহার করুন।

অ্যাডমিন বার

is_admin_bar_showing()

  • যদি অ্যাডমিন বার ডিসপ্লে হয় তবে true রিটার্ন দেয়।

দ্রষ্টব্য: এই বারটি দেখাতে না চাইলে, show_admin_bar() ব্যবহার করুন, এই ফাংশনটি plugins_loaded হওয়ার সাথে সাথে কল করা উচিত অথবা থিমের functions.php ফাইলে রাখা উচিত।

কন্ডিশনাল ট্যাগ ইনডেক্স

Alphabetical list:
comments_open
has_tag
has_term
in_category
is_404
is_admin
is_archive
is_attachment
is_author
is_category
is_child_theme
is_comments_popup
is_customize_preview
is_date
is_day
is_feed
is_front_page
is_home
is_month
is_multi_author
is_multisite
is_main_site
is_page
is_page_template
is_paged
is_preview
is_rtl
is_search
is_single
is_singular
is_sticky
is_super_admin
is_tag
is_tax
is_time
is_trackback
is_year
pings_open

ফাংশন রেফারেন্স

Article: Introduction to WordPress conditional functions
Function: comments_open()
Function: is_404()
Function: is_admin()
Function: is_admin_bar_showing()
Function: is_archive()
Function: is_attachment()
Function: is_author()
Function: is_category()
Function: is_comments_popup()
Function: is_date()
Function: is_day()
Function: is_feed()
Function: is_front_page()
Function: is_home()
Function: is_local_attachment()
Function: is_main_query
Function: is_multi_author
Function: is_month()
Function: is_new_day()
Function: is_page()
Function: is_page_template()
Function: is_paged()
Function: is_plugin_active()
Function: is_plugin_active_for_network()
Function: is_plugin_inactive()
Function: is_plugin_page()
Function: is_post_type_archive()
Function: is_preview()
Function: is_search()
Function: is_single()
Function: is_singular()
Function: is_sticky()
Function: is_tag()
Function: is_tax()
Function: is_taxonomy_hierarchical()
Function: is_time()
Function: is_trackback()
Function: is_year()
Function: in_category()
Function: in_the_loop()
Function: is_active_sidebar()
Function: is_active_widget()
Function: is_blog_installed()
Function: is_rtl()
Function: is_dynamic_sidebar()
Function: is_user_logged_in()
Function: has_excerpt()
Function: has_post_thumbnail()
Function: has_tag()
Function: pings_open()
Function: email_exists()
Function: post_type_exists()
Function: taxonomy_exists()
Function: term_exists()
Function: username_exists()
Function: wp_attachment_is_image()
Function: wp_script_is()

Leave a Comment

Share this Doc

কন্ডিশনাল ট্যাগসমুহ

Or copy link

CONTENTS

Subscribe

×
Cancel