Как я могу выбрать книги случайно в плагине Now Reading WordPress? - PullRequest
0 голосов
/ 16 мая 2011

Я использую плагин «Сейчас читаю» в проекте WordPress. В шаблоне боковой панели плагина я использую этот запрос: while (have_books ('status = read & orderby = done & num = 2')): the_book (); выбрать 2 книги. Какой параметр я должен передать, чтобы сделать его случайным? Я попытался с 'order = rand' и 'rand = true', но это не сработало. Любая помощь будет оценена! Заранее спасибо ..

1 Ответ

0 голосов
/ 16 мая 2011

Случайная функция на самом деле не существует.Я использовал этот код в своем файле functions.php для тем, чтобы разрешить случайный порядок ранее - не уверен, будет ли он работать в этой ситуации, но стоит попробовать.

Добавьте это в файл functions.php тем:

function query_random_posts($query) {
    return query_posts($query . '&random=true');
}
class RandomPosts {
    function orderby($orderby) {
        if ( get_query_var('random') == 'true' )
            return "RAND()";
        else
            return $orderby;
        }
    function register_query_var($vars) {
        $vars[] = 'random';
        return $vars;
    }
}
add_filter( 'posts_orderby', array('RandomPosts', 'orderby') );
add_filter( 'query_vars', array('RandomPosts', 'register_query_var') );

Затем попробуйте это в своем файле боковой панели:

while( have_books('status=read&orderby=finished&num=2&random=true') ) : the_book();

Если нет, мое единственное другое предложение будет получить 10 последних книг, добавить их все в новый массив,и затем перемешать этот массив.Хотя может быть немного раздутым.

...