@dottyตามที่คุณเห็นด้วยตั๋ว trac นี้: ควรมีหน้าดัชนีสำหรับประเภทโพสต์ที่กำหนดเองดังนั้นเห็นได้ชัดว่าความต้องการยังไม่ได้รับการแก้ไขในแกน WordPress
ทั้ง @John P Bloch และ @Chris_O ให้ทางเลือกที่ดีแก่คุณ ฉันจะให้อันดับ 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>
เพิ่มตัวเลือกเมนู
สุดท้ายคุณจะต้องเพิ่มตัวเลือกเมนู ตรงไปตรงมาอย่างที่คุณเห็นจากภาพหน้าจอนี้ (ต่อไปนี้จะถือว่าคุณไม่ได้ทำอะไรกับเมนู WordPress 3.0 มาก่อนและคุณใช้ธีมที่รองรับเมนู WordPress 3.0 เช่น Twenty Ten):
- เลือกตัวเลือกเมนูในเมนูผู้ดูแลระบบ
- คลิกที่" + "เพื่อเพิ่มเมนูใหม่
- พิมพ์ชื่อเมนูของคุณตามใจชอบ
- คลิกปุ่ม"สร้างเมนู" (ภาพหน้าจอแสดง"บันทึกเมนู"แต่จะเป็น"สร้างเมนู"เมื่อทำการเพิ่ม)
- เลือกเมนูใหม่ของคุณเป็นของคุณ"การนำทางหลัก"
- เลือกหน้า " ผลิตภัณฑ์ " ของคุณ
- คลิก"เพิ่มไปที่เมนู"
- คลิก"บันทึกเมนู"
(ที่มา: mikeschinkel.com )
ในที่สุดการส่งออก
และนี่คือรายชื่อผลิตภัณฑ์พื้นฐานที่อาจมีลักษณะดังนี้:
(ที่มา: mikeschinkel.com )