【发布时间】:2012-02-22 20:42:54
【问题描述】:
我正在按名为“size”的自定义元值对帖子进行排序。
$querystr = "
SELECT $wpdb->posts.*
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->postmeta.meta_key = 'size'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'post'
AND $wpdb->posts.post_date < NOW()
ORDER BY $wpdb->postmeta.meta_value DESC
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
if ($pageposts):
global $post;
foreach ($pageposts as $post):
setup_postdata($post);
the_title();
endforeach;
endif;
wp_pagenavi(); //creates page navigation
同时,我正在使用 WP-pagenavi 插件按页面导航帖子。我每页有 10 个帖子。
问题:每个页面中的帖子都是单独排序的。如何在所有页面中按降序排列帖子?
更新:我可能已经找到了解决方案,但我不确定如何在我的代码中实现它
http://scribu.net/wordpress/wp-pagenavi/wpn-2-74.html
$my_query = new WP_Query( array( 'tag' => 'foo', 'paged' => get_query_var('paged') ) );
while ( $my_query->have_posts() ) : $my_query->the_post();
the_title();
// more stuff here
endwhile;
wp_pagenavi( array( 'query' => $my_query ) );
wp_reset_postdata(); // avoid errors further down the page
【问题讨论】:
-
如何以及在哪里按页面过滤结果?
-
你的意思是
LIMIT? php.about.com/od/mysqlcommands/g/Limit_sql.htm我不太清楚你的意思。 -
@Artimuz,它被Wordpress中的WP-pagenavi插件过滤
-
@Sietse, no
LIMIT用于有效的分页。我正在尝试按所有页面的降序排列帖子,而不是现在正在发生的每个页面。 -
我没有尝试过 WP_Pagenavi 插件,但据我了解,它不会为您过滤结果。根据this link,您必须编写一个处理
page查询变量的请求...
标签: php wordpress custom-fields