用WordPress 3.0创建“所有帖子”或“档案”页面?

时间:2010-08-31 作者:cpuguru

我想在Ocean Bytes blog 其中包含迄今为止所有帖子标题的无序列表,每个标题都链接到其博客帖子。

似乎有几个插件可以做到这一点,但大多数插件都没有列出Wordpress 3.0+的支持版本,或者他们希望按照年份和月份对博客帖子进行子集划分,这是不需要的。

对“最佳方式”有什么建议吗?

Thx。

3 个回复
最合适的回答,由SO网友:cpuguru 整理而成

最后,我在210个主题文件夹中创建了一个名为“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。组织/所有职位/

“wp\\u get\\u archives”的默认值是“monthly”,但我选择了“postbypost”,因为我只想将所有帖子列在长列表中。更多选项可在Wordpress网站上通过Function Reference/wp get archives

SO网友:John P Bloch

创建新模板文件,并作为循环执行此操作:

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();
然后只需将该模板用于页面,它就会自动生成页面。退房the codex page 对于query_posts() 有关如何更改查询的详细信息。

SO网友:EAMann

“最好的方法”是使用自定义页面模板。就像index.php 循环浏览所有帖子,您可以运行自定义查询来循环浏览所有内容,并仅将所需信息(标题、URL)回显到浏览器。

以下是一些构建自定义页面模板的好教程:

结束

相关推荐

是否在URI请求参数表单中使用联合/交集查询_POSTS变量?

通常,在创建某种形式的查询时,我会对参数使用一个数组,如下所示: $postslistArgs = array( \'child_of\' => 320, \'parent\' => 320 ); $postslist = get_pages($postslistArgs);但是,在其他情况下,我还需要/想要使用URI样式的查询参数,如下所示:get_pages(\'child_of=