我需要做一些查询。现在我从这个变量中选择。这是从这个查询速度更快。它们之间有哪些区别?
function filter_where($where = \'\') {
$where .= " AND post_date > \'" . date(\'Y-m-d\', strtotime(\'-10 days\')) . "\'";
return $where;
}
add_filter(\'posts_where\', \'filter_where\');
$my_query = new WP_Query( array( \'meta_key\' => \'post_views\', \'orderby\' => \'meta_value_num\', \'order\' => \'DESC\', \'posts_per_page\' => 5 ) );
remove_filter( \'posts_where\', \'filter_where\' );
while ($my_query->have_posts()) : $my_query->the_post();
还有这个。
function filter_where($where = \'\') {
$where .= " AND post_date > \'" . date(\'Y-m-d\', strtotime(\'-10 days\')) . "\'";
return $where;
}
add_filter(\'posts_where\', \'filter_where\');
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$my_query = new WP_Query( "meta_key=post_views&orderby=meta_value_num&order=DESC&posts_per_page=5&paged=$paged" );
remove_filter( \'posts_where\', \'filter_where\' );
while ($my_query->have_posts()) : $my_query->the_post();
最合适的回答,由SO网友:Stephen Harris 整理而成
这些查询是相同的-唯一的区别是语法。不会有明显的性能差异。我更喜欢第一种格式正确的可读性。
(此外,第一个查询不使用paged
参数,所以它不会“分页”-但我想这是被错误地忽略了)。