it-swarm-ru.tech

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

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

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

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

Спасибо.

3
cpuguru

Я закончил тем, что создал шаблон страницы под названием "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 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();

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

3
John P Bloch

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

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

3
EAMann