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