如何根据票数对帖子进行排序?

时间:2012-12-06 作者:DreamGrowers

有人知道如何根据投票数自动排序帖子吗?

我正在使用一个名为WP Voting的插件,访问者可以在该插件中对帖子进行投票。该插件跟踪每个帖子的投票数。作者提供了一些代码,可以对他们在主博客页面上的帖子进行排序,这是可行的,但不幸的是,它打破了类别视图。

代码如下所示,并将其放入functions.php

/**
 * SORTS THE POSTS BY VOTE COUNT
 */
add_filter(\'posts_orderby\', \'edit_posts_orderby\');
add_filter(\'posts_join_paged\',\'edit_posts_join_paged\');

    function edit_posts_join_paged($join_paged_statement) {
    global $wpdb;
    $join_paged_statement = "LEFT JOIN ".$wpdb->prefix."wpv_voting ON ".$wpdb-                >prefix."wpv_voting.post_id = $wpdb->posts.ID";
    return $join_paged_statement;
}

function edit_posts_orderby($orderby_statement) {
    global $wpdb;
     $orderby_statement = "(".$wpdb->prefix."wpv_voting.vote_count) DESC";
    return $orderby_statement;
}

1 个回复
SO网友:Bainternet

只需将挂钩包装在条件检查中,如:

if (is_home() || is_front_page()){
    add_filter(\'posts_orderby\', \'edit_posts_orderby\');
    add_filter(\'posts_join_paged\',\'edit_posts_join_paged\');
}
剩下的就保持原样。

结束

相关推荐

Php显示所有帖子,而不仅仅是当前类别的帖子

我只是想在默认类别上显示一个分类帖子列表(自定义帖子类型为“project”)。php页面。我不能让它工作!如果我只使用基本主题类别。php模板我收到一条“无可用帖子”消息,因为它正在寻找具有指定类别的标准WP帖子(但没有)。然而,一旦我尝试让模板使用我的自定义帖子类型,它就会简单地打印出所有项目的列表,无论它们被分配到哪个类别。我当前的代码如下:<section> <?php query_posts(array( \'post_type\' => \'