Использование пользовательского запроса в WordPress с подкачкой - PullRequest
0 голосов
/ 12 декабря 2011

Я делаю шаблон и мне нужно написать полностью настраиваемый SQL-запрос.

Это то, что я сейчас использую, но это не работает

$wp_query = new WP_Query(array($query, 'paged' => get_query_var('paged')));

Я также использую wp_pagenavi для нумерации страниц, поэтому я немного ограничен.

wp_pagenavi(array( 'query' => $wp_query ));

Вот пример запроса, который получает самый популярный пост (с плагином "Wordpress Popular Posts")

SELECT pl_posts.* 
FROM pl_posts  
INNER JOIN pl_popularpostsdata ON pl_posts.ID = pl_popularpostsdata.postid 
WHERE pl_posts.post_type = 'post' 
  AND pl_posts.post_date < NOW() 
  AND pl_posts.post_status = 'publish' 
ORDER BY pl_popularpostsdata.pageviews DESC 
LIMIT 0, 5

Проблема в том, что wp_query просто возвращает все сообщения и игнорирует мой запрос.

1 Ответ

0 голосов
/ 31 декабря 2011

При использовании параметра paged без posts_per_page можно предположить, что в настройках блога используется количество сообщений на странице по умолчанию.

Просто используйте:

$wp_query = new WP_Query(array($query, 'posts_per_page' => NUMBER, 'paged' => get_query_var('paged')));
...