@ जैसा कि आप इस टीआरसी टिकट द्वारा देख सकते हैं: कस्टम पोस्ट प्रकारों के लिए अनुक्रमणिका पृष्ठ होना चाहिए ताकि जाहिर तौर पर वर्डप्रेस कोर में आवश्यकता को संबोधित नहीं किया जा सके।
@ जॉन पी बलोच और @ क्रिस_ओ दोनों आपको अच्छे विकल्प देते हैं; मैं आपको एक 3 देने जा रहा हूं।
एक "उत्पाद" पृष्ठ
पहले अपने कस्टम पोस्ट प्रकार के लिए एक पृष्ठ बनाएं और इसे "उत्पाद" कहें । वह इसे निम्नलिखित URL देगा:
http: //example.php/products/
एक "उत्पाद सूची" शोर्ट
अगला एक शोर्टकोड बनाएं जिसे आप अपने "उत्पाद" पृष्ठ में एम्बेड कर सकते हैं । अपने उदाहरण में मैंने इसे बुलाया [product-list]
। यहां इसका उपयोग करने पर कैसा दिखेगा इसका स्क्रीनशॉट दिया गया है:
(स्रोत: mikeschinkel.com )
ध्यान दें कि इस तरह का एक शोर्ट बहुत सारी वैकल्पिक कार्यक्षमता को जोड़ने और कई अलग-अलग पोस्ट प्रकारों के लिए काम करने के लिए इसे सक्षम करने के लिए एक महान उम्मीदवार होगा, लेकिन स्पष्टता के हित में मैंने हर चीज को बहुत हार्डकोड किया। आप निश्चित रूप से इसे अपने स्वयं के शोर्ट के लिए शुरुआती बिंदु के रूप में उपयोग कर सकते हैं:
<?php
add_shortcode('product-list', 'my_product_list');
function my_product_list($args) {
$save_post = $GLOBALS['post']; // Save state so you can restore later
$post_type = 'product';
$template_file = get_stylesheet_directory() . "/post-{$post_type}.php";
if (!file_exists($template_file)) {
return "<p>Missing template [$template_file].</p>";
} else {
global $post;
$q = new WP_Query("showposts=10&post_type={$post_type}&orderby=title&order=ASC");
$rows = array();
$rows[] = '<div class="post-list ' . $post_type . '-post-list">';
global $post_list_data;
$post_list_data = array();
$post_list_data['post_count'] = $post_count = count($q->posts);
foreach ($q->posts as $post) {
$q->the_post();
ob_start();
include($template_file);
$rows[] = ob_get_clean();
}
$rows[] = '</div>';
$GLOBALS['post'] = $save_post;
return implode("\n",$rows);
}
}
एक post-product.php
थीम टेम्पलेट फ़ाइल
अगला आपको एक थीम टेम्प्लेट फ़ाइल बनाने की आवश्यकता होगी जो केवल एक उत्पाद प्रदर्शित करती है। वह फ़ंक्शन जो शोर्टकोड को कार्यान्वित करता है, टेम्पलेट फ़ाइल को नाम देता है post-product.php
और यहाँ एक अच्छा प्रारंभिक बिंदु है:
<?php
/**
* post-product.php - File to display only one product within a list of products.
*/
?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h2 class="entry-title"><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
</div>
मेनू विकल्प जोड़ें
अंतिम आप मेनू विकल्प जोड़ना चाहते हैं। यह बहुत ही सरल है जैसा कि आप इस स्क्रीनशॉट से देख सकते हैं (निम्नलिखित माना जाता है कि आपने वर्डप्रेस 3.0 मेनू से पहले कुछ भी नहीं किया है और आप एक ऐसे विषय का उपयोग कर रहे हैं जो वर्डप्रेस 3.0 मेनू जैसे कि ट्वेंटी टेन का समर्थन करता है):
- व्यवस्थापक मेनू में मेनू विकल्प का चयन करें।
- एक नया मेनू जोड़ने के लिए " + " पर क्लिक करें ।
- अपने मेनू नाम में टाइप करें, जो भी आपको पसंद है।
- क्लिक करें "मेनू बनाएँ" बटन (स्क्रीन शॉट शो "मेनू सहेजें" लेकिन यह हो जाएगा "मेनू बनाएँ" को जोड़ते समय।)
- अपने "प्राथमिक नेविगेशन" के रूप में अपने नए मेनू का चयन करें ।
- अपना "उत्पाद " पृष्ठ चुनें।
- "मेनू में जोड़ें" पर क्लिक करें
- "मेनू सहेजें" पर क्लिक करें
(स्रोत: mikeschinkel.com )
अंत में, आउटपुट
और यहाँ एक मूल उत्पाद सूची क्या दिख सकती है:
(स्रोत: mikeschinkel.com )