it-swarm-ko.tech

WordPress 3.0으로 "모든 게시물"또는 "아카이브"페이지를 만드시겠습니까?

나는 각 제목과 함께 현재 게시물의 모든 제목의 정렬되지 않은 목록을 포함하는 Ocean Bytes 블로그 "All Posts" 페이지를 만들고 싶습니다. 블로그 게시물에 하이퍼 링크.

이런 식으로 작동하는 몇 가지 플러그인이있는 것으로 보입니다. 그러나 대부분은 Wordpress 3.0 이상을 아직 지원하지 않거나, 블로그 게시물을 연도와 월별로 나누고 싶지 않습니다.

"최선의 방법"에 대한 제안?

고마워.

3
cpuguru

나는 다음과 같은 코드를 담고있는 Twenty-Ten Themes 폴더에 "allposts-page.php"라고 불리는 페이지 템플릿을 만들었다.

<?php
/**
 * Template Name: All Posts
 *
 * A custom page template for displaying all posts.
 *
 * The "Template Name:" bit above allows this to be selectable
 * from a dropdown menu on the edit page screen.
 *
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

get_header(); ?>

  <div id="container">
   <div id="content" role="main">
<h2>Archive of All Posts:</h2>
  <ul>
    <?php wp_get_archives('type=postbypost'); ?>
  </ul>


   </div><!-- #content -->
  </div><!-- #container -->

<?php get_footer(); ?>

그런 다음 "모든 게시물"이라는 제목의 Wordpress 관리자 시스템을 사용하여 새 페이지를 만들고 드롭 다운에서 "모든 게시물"템플릿을 선택했습니다. 몸에 아무것도 입력 할 필요가 없었습니다.

결과 페이지는 다음을 통해 찾을 수 있습니다.

www.oceanbytes.org/all-posts/

"wp_get_archives"의 기본값은 "monthly"이지만 모든 게시물을 긴 목록으로 나열하고 싶었 기 때문에 "postbypost"를 선택했습니다. 더 많은 옵션은 Wordpress 사이트에서 Function Reference/wp get archives 를 통해 찾을 수 있습니다.

3
cpuguru

새 템플릿 파일을 만들고이를 루프로 만듭니다.

query_posts( array( 'posts_per_page' => -1, 'post_status' => 'publish' ) );
if( have_posts() ):
  echo '<ul>';
  while( have_posts() ):
    the_post();
    echo '<li><a href="';
    the_permalink();
    echo '">';
    the_title();
    echo '</a></li>';
  endwhile;
  echo '</ul>';
endif;
wp_reset_query();

그런 다음 해당 템플릿을 페이지에 사용하면 자동으로 페이지가 생성됩니다. 쿼리를 변경하는 방법에 대한 자세한 내용은 코덱 페이지 for query_posts()를 확인하십시오.

3
John P Bloch

"가장 좋은 방법"은 사용자 정의 페이지 템플리트를 사용하는 것입니다. index.php가 모든 게시물을 반복하는 것처럼 모든 것을 반복하는 사용자 정의 쿼리를 실행하고 원하는 정보 (제목, URL) 만 브라우저에 표시 할 수 있습니다.

다음은 사용자 정의 페이지 템플리트를 작성하기위한 좋은 자습서입니다.

3
EAMann