it-swarm-vi.tech

Tạo trang "Tất cả bài viết" hoặc "Lưu trữ" với WordPress 3.0?

Tôi muốn tạo một trang "Tất cả bài viết" trên blog Ocean Bytes có chứa một danh sách không có thứ tự của tất cả các Tiêu đề của bài đăng cho đến nay, với mỗi tiêu đề siêu liên kết đến bài viết trên blog của nó.

Dường như có một số plugin làm điều gì đó như thế này, nhưng hầu hết không liệt kê Wordpress 3.0+ như được hỗ trợ hoặc họ muốn đặt các bài đăng trên blog theo Năm và sau đó là Tháng không mong muốn.

Bất kỳ đề xuất cho "cách tốt nhất"?

Cám ơn.

3
cpuguru

Cuối cùng tôi đã tạo ra một mẫu trang có tên là "allposts-page.php" trong thư mục Twenty-Ten Themes chứa mã sau đây:

<?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(); ?>

Sau đó, tôi đã tạo một trang mới bằng hệ thống Quản trị Wordpress với tiêu đề "Tất cả bài viết" và chọn mẫu "Tất cả bài viết" từ trình đơn thả xuống. Không cần nhập bất cứ thứ gì vào cơ thể.

Trang kết quả có thể được tìm thấy thông qua:

www.oceanbytes.org/all-posts/

Mặc định cho "wp_get_archives" là "hàng tháng" nhưng tôi đã chọn "postbypost" vì tôi muốn chỉ liệt kê tất cả các bài đăng như trong danh sách dài. Có thể tìm thấy nhiều tùy chọn hơn trên trang Wordpress thông qua Tham khảo chức năng/wp lấy tài liệu lưu trữ

3
cpuguru

Tạo một tệp mẫu mới và thực hiện điều này như vòng lặp:

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();

Sau đó, chỉ cần sử dụng mẫu đó cho một trang và nó sẽ tự động tạo trang. Hãy xem trang codex for query_posts() để biết thêm thông tin về cách thay đổi truy vấn.

3
John P Bloch

"Cách tốt nhất" sẽ là với một mẫu trang tùy chỉnh. Giống như index.php lặp qua tất cả các bài đăng, bạn có thể chạy truy vấn tùy chỉnh để lặp qua mọi thứ và chỉ lặp lại thông tin bạn muốn (tiêu đề, URL) cho trình duyệt.

Dưới đây là một số hướng dẫn tốt để xây dựng một mẫu trang tùy chỉnh:

3
EAMann