@dotty 이 trac 티켓에서 볼 수 있듯이 : 사용자 정의 게시물 유형에 대한 색인 페이지가 있어야 하므로 워드 프레스 코어에서는 아직 필요성이 해결되지 않았습니다.
@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 메뉴로 아무것도하지 않았으며 Twenty Ten과 같은 WordPress 3.0 메뉴를 지원하는 테마를 사용한다고 가정합니다).
- 관리자 메뉴에서 메뉴 옵션을 선택하십시오.
- " + " 를 클릭하여 새 메뉴를 추가하십시오.
- 메뉴 이름을 원하는대로 입력하십시오.
- "메뉴 만들기" 버튼을 클릭하십시오 (스크린 샷에는 "메뉴 저장"이 표시 되지만 추가시 "메뉴 만들기" 가 표시됩니다).
- "기본 탐색" 으로 새 메뉴를 선택하십시오 .
- "제품 "페이지를 선택 하십시오.
- "메뉴에 추가"를 클릭하십시오
- "저장 메뉴"를 클릭 하십시오
(출처 : mikeschinkel.com )
마지막으로 출력
기본 제품 목록은 다음과 같습니다.
(출처 : mikeschinkel.com )