首先,您需要使用WP\\u查询来获取这些帖子。然后您可以使用以下命令进行订购array
.
// The Query
$args = array(
\'cat\' => $category->term_id,
\'posts_per_page\' => -1,
\'orderby\' => \'meta_value\',
\'meta_key\' => \'_bunyad_review_overall\',
\'paged\' => ( get_query_var(\'paged\') ? get_query_var(\'paged\') : 1 ),
);
$the_query = new WP_Query( $args );
// Create an array to store posts ID.
$posts_with_ranks = array();
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
// Your post content goes here
// And also you can push each ID into this this array
array_push( $posts_with_ranks , $post->ID );
}
}
// reset post data
wp_reset_postdata();
现在我们有了
$posts_with_ranks
有等级的职位。假设我们的数组如下所示:
$posts_with_ranks = array(1,3,5,10);
然后,您的第二个WP\\U查询应该如下所示:
// The Query
$args = array(
\'cat\' => $category->term_id,
\'posts_per_page\' => -1,
\'orderby\' => title,
\'order\' => ASC,
\'post__not_in\' => $posts_with_ranks, // Exclude posts from the previous WP_Query
\'paged\' => ( get_query_var(\'paged\') ? get_query_var(\'paged\') : 1),
)
$the_query = new WP_Query( $args );
// Create an array to store posts ID.
$posts_with_ranks = array();
// The Loop
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
// Your post content
array_push( $posts_with_ranks , $post->ID );
}
}
// reset post data
wp_reset_postdata();
所以基本上你需要知道:
1) 使用WP\\u Query检索排名为的帖子。
2) 使用array\\u push将这些帖子存储到数组中
3) 使用第二个WP\\u查询并使用排除排名为的帖子post__not_in
.
您可以看到完整的wp\\U查询参数列表。
https://gist.github.com/billerickson/3698476#file-gistfile1-php
这是一个非常全面的参考。
http://codex.wordpress.org/Class_Reference/WP_Query
希望这有帮助!