How do I order my loop query?

时间:2011-06-09 作者:DOA

我的数据库中有一个表,其中包含我试图排序帖子的投票统计。

屏幕截图:the table

我尝试过这样的方法,它可以显示所有投票的帖子和分页,但不会按DESC排序。如果我接近这一权利,任何建议都将不胜感激。

   <?php
 global $wpdb;
$my_posts = $wpdb->get_col("SELECT like_pid FROM wp_likes_count ORDER BY like_count");
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array(
    \'post__in\' => $my_posts[\'like_pid\'],
    \'paged\' => $paged,
    \'posts_per_page\' => 6,

    \'order\' => \'DESC\'
    );
query_posts($args); ?>


               <?php while (have_posts()) : the_post(); ?>    
               <!-- do stuff -->
               <?php endwhile; ?>

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

问题所在

$my_posts 不包含任何帖子。它包含post id和likes。你把这两个都扔进了post__in, 这是行不通的。我想如果插件(?)默认情况下,不会将任何带有0-x整数的帖子添加到db表中。

调试尝试以下操作:

$my_likes = $wpdb->get_col("SELECT like_pid FROM wp_likes_count ORDER BY like_count DESC");
echo \'<pre>\';
print_r( $my_likes );
echo \'</pre>\';
这可能会显示一个包含两个子数组的数组。

找到解决方案的方法,然后尝试获取所需的子数组并将其放入查询中示例:\'post__in\' => $my_likes[\'like_pid\'].

插件

无论如何,插件应该在字段的post\\u meta表中存储这样的内容,而不是为这样的内容添加不必要的表。在wp中应该有一个由otto开发的facebook插件。组织回购。这一个更强大,写得更好&;一位值得信赖的作者。您应该考虑切换。

SO网友:supajb

在循环调用中使用参数“order”。

$args = array(
    \'post__in\' => $my_posts,
    \'paged\' => $paged,
    \'posts_per_page\' => 6,
    \'order\' => \'DESC\'
);
还有一个order\\u by参数

http://codex.wordpress.org/Function_Reference/query_posts

结束

相关推荐

根据BuddyPress Activity-Loop中的活动类型显示CSS

我想知道是否有人知道根据活动类型向活动循环显示特定样式的方法?这就是我的想法:function mycustom_act_type() { if (\'friendship_created\' != bp_get_activity_type() ) echo \' style=\"background:red;\" \'; } 这是在<li> 回路中的位置:<li <?php mycustom_act_type()?> >blah &l