WordPress. Сортировка записей по произвольному полю. Например, по рейтингу. Итак, код:
<?php
// PHP: аналог обычного if, но в 1 строку
// $paged нужна, чтобы навигация работала корректно
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
// Поле "рейтинги"
'meta_key' => 'ratings_average',
// Сортировка по произвольному полю
'orderby' => 'meta_value',
// Навигация без "подводных камней"
'paged' => $paged,
// Тип записи: запись. У WP, начиная с 3.x.x,
// имеется возможность создания пользовательских записей.
// Некий аналог CCK на Drupal, но это уже др. история
'post_type' => 'post',
// Вывод по убыванию, сперва с самым высоким рейтингом
'order' => 'DESC',
// Показать записей на страницу: не более 6
'posts_per_page' => 6
);
// Передали массив опций в query_posts
query_posts( $args );
// Всё. Дальше обычный вывод записей.
if (have_posts()) :
while (have_posts()) : the_post();
echo '<a href="'.get_permalink().'">'.get_the_title().'</a><br />'
echo get_the_excerpt();
endwhile;
endif;
// Код немного упростил, плагин постраничной навигации
// скачаете с http://wordpress.org/extend/plugins/wp-pagenavi/
wp_pagenavi();
?>
Если циклов вывода записей по каким-либо причинам несколько, можно для сброса предыдущего запроса использовать wp_reset_query().
Плагин рейтингов (оценок) для записей для WordPress, — WP-PostRatings. Но это не суть, как важно.
К сведению, случайные записи делаются тем же способом, — просто orderby с параметром rand. Если не получается, установите мой плагин .
Query_posts, — очень мощная и удобная вещь. Будут вопросы, — пишите в комментариях, если таковые будут.
Источник: sooource.net



Май 31st, 2012
Archi
Опубликовано в рубрике
Метки: