回答
我已经回答过类似的问题here,但我会总结一下我认为会对你有帮助的事情。它将涉及您了解更多关于here的自定义查询。
您可以使用单独的'div'元素通过不同的方法对每个帖子进行排序。然后你可以使用jQuery来隐藏它们(除了说'最近'的面板)。然后,您可以使用链接在用户使用jQuerys .click()事件处理程序单击它时隐藏相关的'div'元素(隐藏所有其他元素)。
要使用按各种方法排序的帖子填充每个'div'元素,您可以使用自定义查询。例如,按照评论数量排序,在'functions.php'文件中定义这个函数。
function get_most_commented($limit=10) {
global $wpdb;
$most_commented = $wpdb->get_results("SELECT comment_count, ID, post_title FROM $wpdb->posts WHERE post_type='post' AND post_status = 'publish' ORDER BY comment_count DESC LIMIT 0 , $limit");
foreach ($most_commented as $post) {
setup_postdata($post);
$id = $post->ID;
$post_title = $post->post_title;
$count = $post->comment_count;
$output .= '<li><h1><a href="'. get_permalink($id).'">'.$post_title.' - '.$count.' comments</a></h1> post_excerpt;</li>';
}
return $output;
}
,那么你从相关“DIV”元素中上面调用该函数:
<?php echo get_most_commented(15) ?>
有序/无序列表中(可显示最多评论15个帖子)。这个例子只是输出标题和摘录,但你可以改变HTML,并使用一些CSS样式来得到你想要的。
希望这会有所帮助!尽管你已经启发我写了一篇关于这个的教程!
编辑: 我刚刚看过你给的Nettuts例子 - 他们'使用php'get'方法重新排序'的帖子。点击链接后,您将被发送到同一页面,但具有不同的获取变量(例如:recent = true,commented = true)。该页面包含一系列php if语句,根据哪些GET变量设置为'true'来确定帖子应如何排序。
这比不需要jQuery(或者确实是javascript打开)的优势 - 它不会同时加载所有三种排序方法 - 只有它所需的一种。
我明白你现在的样子。在阅读了一下之后,我意识到了一个更好的(最好的)方法来做到这一点。这对我的第一个答案是一个完全不同的方法,所以我把它作为第二个答案发布。
我写了详细的教程here。简而言之,您可以定义指向您所在页面的链接,但是可以使用GET变量来指示WordPress以某种方式对帖子进行排序。默认情况下,WordPress按日期排序,但追加
?&orderby=comment_count&order=desc
它将按不同的顺序排序(通过本例中的评论数)。这对于发布视图有点不同,因为这是一个自定义字段(并且您仍然需要wp-post views插件)。
希望这会有所帮助!
嘿非常感谢你! 但我无法打开您的博客? – atali
我觉得它有点慢。我遇到了麻烦!我刚刚尝试过,而且它似乎工作正常。 –
- 1. 如何根据“total_content_length”和最近的帖子对论坛用户进行排序?
- 2. 根据过滤条件对elasicsearch结果集进行排序
- 3. Facebook评论插件 - 如何对评论进行排序?
- 4. 根据条件对ArrayList数据进行排序和排序
- 5. 如何根据Jekyll中的标签对帖子进行排序?
- 6. 如何拉新帖子和评论
- 7. Django:想根据日期对评论进行排序
- 8. 通过WordPress最后评论日期排序的帖子
- 9. 用n条最新评论选择最新帖子
- 10. Tastypie:根据评论的对象过滤Django评论
- 11. 排序帖子评论后第一
- 12. Rails显示帖子最新评论
- 13. 订购WordPress的帖子最新评论
- 14. 通过新评论获得我评论过的帖子?
- 15. 如何根据条件对多列进行排序
- 16. Cakephp根据评论数量计算帖子的排名
- 17. 如何获取5条最新评论按日期排序
- 18. 对帖子的评论(PHP)
- 19. 如何过滤草稿/已关闭帖子的评论?
- 20. 根据多个条件进行排序
- 21. 根据条件数进行排序
- 22. WordPress,根据最高评论显示帖子
- 23. 如何根据数据行子串对VB.NET DataView进行排序?
- 24. CKEditor条/过滤HTML评论?
- 25. 按照最大评论排序条款
- 26. Wordpress如何根据自定义字段对帖子进行排序
- 27. 根据子分评论根据子分评论显示
- 28. Google电子表格:根据status_id过滤Facebook评论数据
- 29. 如何按日期和时间对帖子进行排序?
- 30. Elasticsearch - 根据名称进行过滤和按优先级排序
我把上面的代码中function.php然后把这个代码 '' 上述 '<! - 搜索项目 - ><?php endwhile; else:?><?php endif; ?>(存档/搜索页面) 我无法看到搜索/存档页面(search.php)中的任何更改? –
atali
我使用此代码获得最多浏览的帖子 ''??php query_posts('meta_key = post_views_count&orderby = meta_value_num&posts_per_page = 3&order = DESC'); if(have_posts()):while(have_posts()):the_post(); ?>' 我想补充“观看最多”(post_views_count)选项卡非常久远的“评论最多” 在帖子排序查询 请帮帮我,我会尽力 很困惑:) – atali
你想要的人能够对搜索结果进行排序?如果是这样,您必须在查询中包含搜索条件。如果这只是排序所有(或你的前15个职位),那么你会想把它放在你的index.php文件中。 –