Wordpress自定义循环,具有两种不同金额的帖子

时间:2010-09-19 00:45:46

标签: php wordpress

我有一个类别名称“notes”,我需要在循环的每个页面上显示最多10个音符,以及最多4个常规帖子。

它们都应按日期排序。

即。我在1小时前发布了1个音符,note A和另一个音符,note b,5小时前,我还发布了帖子,post Apost B 2小时前。在我的循环中,我希望看到note Apost Apost Bnote B

我希望它足够清楚。

我正在尝试使用两个自定义WP_Queries来执行此操作,但由于全局$post,我很难使用它们。

任何帮助都可以! 感谢

1 个答案:

答案 0 :(得分:0)

好吧,如果有人有兴趣,我就这样做了:

<?php
function elis_sortbydate ($a, $b) {
$time_a = strtotime($a->post_date);
$time_b = strtotime($b->post_date);
if ($time_a == $time_b) return 0;
return ($time_a > $time_b) ? -1 : 1;
}
$query = array_merge(array('cat' => 67, 'posts_per_page=10'), $wp_query->query);
    $notes_query = new WP_Query($query);

    $query = array_merge(array('cat' => -67, 'posts_per_page=4'), $wp_query->query);
    $posts_query = new WP_Query($query);
    if ($notes_query->have_posts() and $posts_query->have_posts()) {
        $all_posts = array_merge($notes_query->posts, $posts_query->posts);
        usort($all_posts, "elis_sortbydate");
        foreach ($all_posts as $post) { ... }
            }

生成的$all_posts数组按日期排序(从高到低)