Чтобы сделать полный архив блога на отдельной странице, сгруппировав посты по категориям, не обязательно использовать дополнительные плагины – можно внедрить специальную функцию, которая определит, какие в блоге есть категории с постами, и составит последовательный список категорий, под каждой их которой выведет список постов.
Для этого нужно создать шаблон страницы, и в него встроить этот код:
'name', 'order' => 'ASC' ); $categories=get_categories($cat_args); foreach($categories as $category) { $args=array( 'showposts' => -1, 'category__in' => array($category->term_id), 'caller_get_posts'=>1 ); $posts=get_posts($args); if ($posts) { echo '<p>Категория: <a>term_id ) . '" title="' . sprintf( __( "Посмотреть все посты в категории %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> '; foreach($posts as $post) { setup_postdata($post); ?> <p><a href="" rel="bookmark" title="Прямая ссылка: "></a></p>
Этот код выведет список в виде:
Категория1
Пост1
Пост2
Пост3
Категория2
Пост3
Пост4
Пост5
Категория3
Пост6
Поск7
Пост8
Однако следует помнить, что чем больше постов, тем больше и запросов к базе данных, которые создаст этот код. Поэтому, чтобы избежать большой нагрузки на хостинг, нужно пользоваться плагинами кэширования. Так же не стоит списывать со счетов и специальные плагины, которые могут быть хорошей альтернативой этому коду. Некоторые их плагинов, создающие список постов по категориям:
- Table of Contents Creator
- Latest Posts by Category Archive
- Better Extended Live Archive
- DS Blog Map
можете нормально код написать? Он не работает у вас, нет открывающих и закрывающих тегов пхп