Порядок выведения записей.

Здравствуйте.
Столкнулся с такой проблемой. Обычно в водрпрессе новые записи выводяться таким образом, что новые записи вверху, а старые внизу. Это очень хорошо, когда оно на странице с обновлениями. Но мне нужно, чтобы, заходя в рубрику, сообщения были размещены в обратном порядке. Тоесть, новые появляются после старых. Как это сделать, чтобы на странице с обновлениями новые записи были вверху, а в категориях – новые записи были внизу. (Мне это надо, чтобы размещать главы книги. КОгда заходишь в рубрику, очень не красиво смотриться, когда сначала 4 глава, потом 3, потом 2 и т.д. Помогите пожалуйста

http://codex.wordpress.org/Template_Tags/query_posts Параметры orderby и order.

Спасибо за ссылочку. Только проблема. Я не знаю английский язык. может есть чтото на русском?

Перевел через Гугл. Но ничего не понял, что нужно сделать. может ктото подробнее раскажет?

Решил проблему с помощью плагина Sort Categories By Title. Скачать можно с http://www.mikesmullin.com/

http://codex.wordpress.org/Template_Tags/query_posts Параметры orderby и order.

Cкажите пожалуйста, а в каком файле делаются эти изменения параметров?

В зависимости от того, что нужно развернуть. Прочтите http://www.sonika.ru/blog/wordpress/template-hierarchy.htm и … черт, с Гугля не очень хороший переводчик… в общем, Вам может понадобиться http://codex.wordpress.org/Conditional_Tags Я не знаю, есть ли перевод, попробуйте поискать "wordpress условные теги".

Хочу, чтобы новые сообщения на главной странице появлялись сверху. А в категориях – сортировались по датах.

«новые сообщения сверху» и «сортировались до датам» — это одно и то же.

Да, не точно написал. 🙂 Я имею ввиду, хочу сделать, чтобы на главной странице новые записи были вверху. Но когда войти в рубрику, чтобы записи шли в обратном порядке. Например, если выкладывать книгу по главам. КОгда войти в рубрику, очень не красиво выглядет, когда вверху глава 5, потом 4, потом 3. Лучше будет, если вверху будет глава 1 ,потом 2, потом 3 и т.д.
Но как это сделать, не знаю.

Надо добавить перед Циклом (Loop) query_posts($query_string . "&orderby=date&order=ASC"), возможно, с условием if (is_category()). В какой файл – зависит от того, какие файлы есть в шаблоне (ссылку на иерархию я давал). Писать в стиле "если … то …, а если … то …" нет ни времени, ни желания.

посмотрите еще этот способ сортировке но номеру главы: http://www.sonika.ru/blog/wordpress/custom-fields-wordpress.htm
см. Пример 12

Есть файлы archive.php и archives.php
Я так понимаю, в файле archive.php строка <?php if (have_posts()) : ?> – это и есть луп? Или я туплю?
Поставил перед этой строкой <? query_posts($query_string . "&orderby=date&order=ASC") ?>
Ничего не поменялось. Целый день проигрался с этой ерундой, и никак.
Я конечно не пхп програмист, только учусь 🙂 но очень нужно сделать эту настройку. Посоветуйте, что сделать!!!

А что вы делаете? Посты по дефолту сортируются по дате, эта строка указывает делать то же самое: сортировать посты по дате, новые вверху. поэтому ничего и не меняется
<? query_posts($query_string . "&orderby=date&order=ASC") ?>

В значении order прописывал DESC, ничего не поменялось. Попробую с помощью кустом филдс. Спасибо Соника за подсказку. Надеюсь, получиться 🙂

Соника. А код нужно вписать в archive.php?

Установил код в archive.php, настроил значения в кустом филдс, ничего не изменилось. Или я туплю, или не там чтото пишу. Вот код, какой получился в файле архивов:
<?php get_header(); ?>
# <?php
# usort($posts, ‘rating_sort’);
# function rating_sort($a, $b) {
# $ar = get_post_meta($a->ID, ‘rating’, true);
# $br = get_post_meta($b->ID, ‘rating’, true);
# if ($ar == $br) return 0;
# return ($ar < $br) ? -1 : 1;
# }
# if (have_posts()) : while (have_posts()) : the_post();
# ?>

<?php if (have_posts()) : ?>

<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php /* If this is a category archive */ if (is_category()) { ?>
<h2 class="pagetitle">Архив рубрики &#8216;<?php echo single_cat_title(); ?>&#8217;</h2>

Может я чтото не там прописываю.

Ну, не знаю, то ли у людей Вордпресс другой, то ли руки не моют 😀 Только что взял строку
<? query_posts($query_string . "&orderby=date&order=ASC") ?>
и вставил в начало archive.php дефолтной Темы. Посты в рубрике "перевернулись" как миленькие.

WordPress 2.7 Тоже, в файле archive.php вставил строку, которую вы давали вначале (в дефолтовой тоже)Ю ничего не изменилось. НЕ знаю, что делать

Ура. Проблема решена. Оказалось, какой-то плагин глючил. Деактивировал большинство плагинов, и заработало. Спасибо всем, кто помогал мне.

Anonymous
Отправить
Ответ на: