it-swarm-ko.tech

WordPress 3.0의 탐색 메뉴에 게시물 아카이브 추가

모두 헤이, 나는 WordPress 3.0과 두 가지 새로운 기능, 사용자 정의 포스트 유형메뉴 편집기를 가지고 놀고 있습니다.

나는 당신이 짐작했듯이 "products"이라는 새로운 게시물 유형을 생성함으로써 시작했습니다.이 목록 제품입니다.

늪지 표준 템플릿을 사용하고 있으며 상위 메뉴를 대체 할 새 메뉴를 만들고 있습니다. 내가 볼 수있는 한 특정 "제품" 만 추가 할 수 있습니다. 제품의 "아카이브"를 추가 할 수 없습니다. 내가하려는 것은 모든 제품을 나열하는 페이지로 이동하는 메뉴에 대한 링크를 추가하는 것입니다.

어떤 생각을하는 방법이?

10
dotty

@ dotty 이 trac 티켓에서 볼 수 있듯이 사용자 정의 게시물 유형 에 대한 색인 페이지 여야하므로 분명히 WordPress 코어에서 아직 해결되지 않았습니다.

@John P Bloch와 @Chris_O는 모두 좋은 대안을 제공합니다. 나는 당신에게 3을 줄 것입니다.

A "제품" 페이지

먼저 맞춤 게시물 유형에 대한 페이지 를 만들고 " 제작품". 그러면 다음 URL이 제공됩니다.

http : //example.php/products/

A "제품 목록" 단축 코드

다음으로 "Products"에 포함시킬 수있는 Shortcode 를 만듭니다. 페이지. 내 예에서는 [product-list]이라고했습니다. 다음은이를 사용하는 모습의 스크린 샷입니다.

A Product's Page that uses a Shortcode to display a list of Products in WordPress
(출처 : 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 메뉴를 지원하는 테마를 사용한다고 가정합니다. 스물 열) :

  1. 관리 메뉴에서 메뉴 옵션을 선택하십시오.
  2. " + "을 클릭하여 새 메뉴를 추가하십시오.
  3. 메뉴 이름을 원하는대로 입력하십시오.
  4. "메뉴 만들기" 버튼을 클릭합니다 (스크린 샷에는 "메뉴 저장"이 표시되지만 "추가 할 때 메뉴 만들기"
  5. 새 메뉴를 "기본 탐색"으로 선택하십시오.
  6. "제품 "페이지를 선택하십시오.
  7. "메뉴에 추가"를 클릭하십시오.
  8. "저장 메뉴"를 클릭하십시오.

Adding a Products Page Menu Option to a WordPress Site
(출처 : mikeschinkel.com )

마지막으로 출력

기본 제품 목록은 다음과 같습니다.

A List of Products using a Custom Post Type in WordPress
(출처 : mikeschinkel.com )

12
MikeSchinkel

이것은 기본적으로 WordPress에서 지원되지 않습니다. 그러나이 파일을 functions.php 파일에 추가하면 다음과 같이 작동합니다.

function give_me_a_list_of_products(){
  add_rewrite_rule( 'products/?$', 'index.php?post_type=products', 'top' );
}

add_action( 'init', 'give_me_a_list_of_products' );

그러면 example.com/products/가 제품 목록으로 제공됩니다. 거기에서 메뉴에 맞춤 링크를 추가하기 만하면됩니다.

그러나 피드와 함께 진정한 보관 (월별, 연도 별)을 원한다면 더 자세한 코드가 필요합니다. '제품'이 비 계층 적 게시 유형 (꼭 있어야하는 것 같습니다) 인 경우 내 플러그인을 사용할 수 있습니다.

http://www.wordpress.org/extend/plugins/custom-post-permalinks/

그러면 블로그 게시물처럼 할 수있는 것처럼 퍼머 링크를 맞춤 설정할 수있는 추가 필드가 생기고 카테고리, 작성자, 월, 연도, 게시물 유형 등을 기준으로 퍼머 링크를 맞춤 설정할 수 있습니다.

4
John P Bloch

내 생각에,이 아카이브에서 보관 된 게시물을 보관 및 이동하는 게시 유형 사용자 지정 게시 유형을 통해 만드는 것이 더 나은 솔루션이라고 생각합니다. 또한이 post_type의 postmeta에 현재 post_type을 추가하여 실행 취소하십시오. 나는 이것에 대한 플러그인을 작성했고 현재 스타일 시트, 이미지 및 언어 파일없이 이것을 볼 수 있습니다. Gist.github/978690 .

0
bueltge
내가 아는 한 내가 특정 "제품"만 추가 할 수 있다는 것을 알 수 있습니다. 제품의 "아카이브"를 추가 할 수 없습니다. 내가하려는 것은 모든 제품을 나열하는 페이지로 이동하는 메뉴에 대한 링크를 추가하는 것입니다. 어떤 생각을하는 방법이?

"제품"게시물 유형에 분류법을 지정한 다음 해당 분류 표를 사용자 정의 메뉴 중 하나에 추가하면 사용자가 사용 된 분류법에 따라 모든 제품의 아카이브 페이지로 이동하게됩니다.

"종목"이라는 분류 체계와 "종목"이라는 분류 표가 있습니다. alt text

"Current Openingings"분류법 용어로 모든 작업을 원한다면 그것을 선택하여 메뉴에 추가합니다. alt text

아카이브 페이지에 모든 "제품"게시물 유형이 있어야하는 경우 부모 분류 체계를 할당하여 모든 아카이브 페이지에 나열 할 수 있습니다.

0
Chris_O