Создать страницу "Все сообщения" или "Архивы" с WordPress 3.0?


Я хотел бы создать страницу "Все сообщения" на Блог океанских байтов это содержит неупорядоченный список всех названий сообщений на сегодняшний день, с гиперссылкой на каждое название на его сообщение в блоге.

Похоже, что есть несколько плагинов, которые делают что-то подобное, но большинство из них еще не поддерживают Wordpress 3.0+, или они хотят разделить публикации в блоге по годам, а затем месяцам, что нежелательно.

Любые предложения по "лучшему путь"?

Спасибо.

Author: MikeSchinkel, 2010-08-31

3 answers

Создайте новый файл шаблона и сделайте это в виде цикла:

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

Затем просто используйте этот шаблон для страницы, и он автоматически сгенерирует страницу. Проверьте страницу кодекса для query_posts() для получения дополнительной информации о том, как изменить запрос.

 3
Author: John P Bloch, 2010-08-31 16:19:38

"Лучшим способом" было бы использовать пользовательский шаблон страницы. Точно так же, как index.php перебирает все сообщения, вы можете запустить пользовательский запрос, чтобы просмотреть все и передать в браузер только ту информацию, которую вы хотите (заголовок, URL-адрес).

Вот несколько хороших руководств по созданию пользовательского шаблона страницы:

 3
Author: EAMann, 2010-08-31 16:20:04

В итоге я создал шаблон страницы под названием"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" равно "ежемесячно", но я выбрал "postbypost", так как я хотел просто перечислить все сообщения в длинном списке. Дополнительные опции можно найти на сайте Wordpress через Ссылка на функцию/wp получить архивы

 3
Author: cpuguru, 2010-09-01 01:24:27