WP Category Template – हम Category Based Posts की List Generate करने के लिए category.php नाम का Template Define कर सकते हैं। WordPress इस Template को तब Use करता है, जब हम Category-Wise Generated Posts की List या Archive को अलग तरीके से Render करना चाहते हैं। उदाहरण के लिए मानलो कि हमारी Theme में category.php Template कुछ निम्नानुसार है:
File Name: /wp-content/themes/bccfalna/category.php
<h1>Category Based Archive</h1>
<p>This is the category.php template.</p>
तो अब यदि हम निम्नानुसार किसी भी URL का प्रयोग करते हुए Category के आधार पर Archive Render करना चाहें:
http://localhost/wp/category/uncategorized/
तो हमें निम्नानुसार Output प्राप्त होता है:
ये Output इसीलिए Generate हो रहा है, क्योंकि हमने हमारी Custom Theme में category.php नाम का Template Create किया है और जब हमारी Theme में category.php नाम का Template Exist होता है, तब WordPress किसी भी Category Related Archive को Generate करने के लिए इसी Template को Use करता है। जबकि इस Template की अनुपस्थिति में archive.php Template को Use करता है।
चूंकि हर Category वास्तव में एक प्रकार का Taxonomy Term होता है, जिसका एक निश्चित ID होता है और ये ID, Taxonomy Term की Detail के साथ wp_terms नाम की Table में Record की तरह Stored रहता है। इसलिए WordPress हमें हर Category को उसके id Field के Data के आधार पर Special तरीके से Render करने के लिए category-$id.php नाम के Template को Define करने की सुविधा देता है।
उदाहरण के लिए यदि हम हमारे wp_terms Table में ID 1 वाली Category के लिए अलग से Template Design करना चाहते हैं, तो हम निम्नानुसार category-1.php नाम का Template Create कर सकते हैं:
File Name: /wp-content/themes/bccfalna/category-1.php
<h1>Taxonomy Category Based Archive</h1>
<p>This is the category-1.php template.</p>
अब जब हम निम्नानुसार URL का प्रयोग करते हैं:
http://localhost/category/uncategorized/
तो हमें निम्नानुसार Output प्राप्त होता है:
ये Output हमें इसलिए प्राप्त होता है क्योंकि जब WordPress uncategorized नाम की Category के लिए Template Selection करना चाहता है, तब वह सबसे पहले wp_terms नाम की Table से uncategorized नाम की Category के ID को Retrieve करता है और उस ID को category- के बाद Append करता है तथा अन्त में .php Append करके बनने वाले नाम के Resource को Currently Activated Theme में Find करता है।
यानी उपरोक्त URL Specify करने पर WordPress सबसे पहले uncategorized नाम की Category का ID wp_terms Table से Retrieve करता है, जिसका मान 1 प्राप्त होता है। क्योंकि हमारे WordPress Installation के समय यह Category Default रूप से Create हो जाती है और हर वह Post, जिसके साथ Category को Specify नहीं किया जाताए इसी Category में Store होता है और इस uncategorized Category का ID हमेंशा 1 ही होता है। इसलिए अब WordPress इस ID 1 को category- के बाद Append करता है और अन्त में .php Append करता है। परिणामस्वरूप पूरा नाम category-1.php बन जाता है।
अब WordPress category-1.php नाम की Template File को Currently Activated Theme में Search करता है और वहां उसे इस नाम का एक Template प्राप्त हो जाता है। परिणामस्वरूप uncategorized नाम की Category के लिए WordPress इस Template को Apply कर देता है और हमें उपरोक्तानुसार Output प्राप्त हो जाता है।
ID की तरह ही wp_terms नाम की Table में हर Category का एक Slug भी होता है जो कि slug Field के Data के रूप में Stored रहता है। हम इस slug Field के Data के आधार पर भी Special तरीके से किसी Category Based Post की Listing को Render कर सकते हैं और ऐसा करने के लिए WordPress हमें category-$slug.php नाम के Template को Define करने की सुविधा देता है।
यानी जब हम category-$slug.php Template Create कर देते हैं, तब भी WordPress ठीक उसी तरह से wp_terms Table को slug के लिए Scan करता है, जिस तरह से ID के लिए करता है और slug को Retrieve करके ठीक उसी तरह से Resource Name Create करता है, जिस तरह से ID के लिए करता है। यानी category- के बाद slug को Append करके अन्त में .php को Append करता है।
चूंकि हम निम्नानुसार जो URL Use कर रहे हैं, उसमें Specified uncategorized नाम की Category का slug भी uncategorized ही है:
http://localhost/category/uncategorized/
इसलिए हमारा जो Resource Name बनता है, वह भी category-uncategorized.php बनता है। इसलिए यदि हम निम्नानुसार category-uncategorized.php नाम का एक Template अपनी Custom Theme में Create कर दें:
File Name: /wp-content/themes/bccfalna/category-uncategorized.php
<h1>Template for Category with uncategorized Slug</h1>
<p>This is the category-uncategorized.php template specifically for Category with Slug uncategorized.</p>
अब यदि हम उपरोक्त URL को Web Browser द्वारा Render करते हैं, तो WordPress इस URL में Specified uncategorized नाम की Category के लिए उपरोक्त Template को ही Use करता है। परिणामस्वरूप हमें निम्नानुसार Output Web Page दिखाई देता है:
WordPress द्वारा category-$slug.php, category-$id.php या category.php Template के Selection की प्रक्रिया को हम हमारे चित्र के निम्न हिस्से द्वारा बेहतर तरीके से समझ सकते हैं:
तो यदि हम सारांश में कहें तो-
- यदि category-$slug.php नाम का Template Exist हो, तो WordPress उस Slug वाली Category के लिए इसी Template को Use करता है।
- यदि category-$slug.php नाम का Template Exist न हो, तो WordPress URL में Specified Category के ID से सम्बंधित category-$id.php नाम के Template को Template को Use करता है।
- यदि category-$id.php नाम का Template भी Exist न हो, तो Category Wise Posts Listing Render करने के लिए लिए category.php नाम के Template को Use कर लेता है।
- यदि category.php नाम का Template भी Exist न हो, तो Category Wise Posts Listing Render करने के लिए लिए WordPress archive.php नाम के Template को Use कर लेता है। और
- यदि archive.php नाम का Template भी Exist न हो, तो Paged Listing होने की स्थिति में WordPress paged.php Template को Use कर लेता है जबकि Paged Listing न होने पर WordPress इस Category-Wise Post Listing के लिए भी WordPress index.php नाम के Default Template को Use कर लेता है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Advance WordPress in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Advance WordPress in Hindi | Page: 835 | Format: PDF