这个问题是关于使用高级插件的WordPress网站。
目前已根据functions.php中的WP-PostViews插件为“大多数视图”启用了排序:
add_action( 'init', 'wpse13483_init' );
function wpse13483_init() {
add_rewrite_rule( '(.+?)/order/views/?$', 'index.php?category_name=$matches[1]&v_sortby=views&v_orderby=desc', 'top' );
}
但是现在尝试添加对基于wpreviewsite.com插件的“评价最高”排序的支持。这绝对是可能的,不知何故,因为这个插件带有一个“评价最高的帖子”小部件,它使用以下代码(其他不太重要的代码......相当确定这是关键部分):
//Post sorting
$sort = get_option('rs_sort');
if ($sort == 'rating') {
add_filter('posts_fields', 'rs_weighted_fields');
add_filter('posts_join', 'rs_weighted_join');
add_filter('posts_groupby', 'rs_weighted_groupby');
add_filter('posts_orderby', 'rs_weighted_orderby');
} else if ($sort == 'comments') {
add_filter('posts_orderby', 'rs_comments_orderby');
}
非常感谢有关如何使用这些WordPress后期过滤器以及将它们以某种方式转换为PHP函数或其他可以成为functions.php中的新重写规则的任何见解。谢谢!