如何按日期和元密钥对结果进行排序?

时间:2012-04-28 作者:Pollux Khafra

我正在使用wp-postratings 将评分存储为自定义元值的帖子评分ratings_score. 它为您提供了使用r_sortby 按最高评分排序循环,但我想通过将$ratings\\u得分除以该帖子的天数来给它一种趋势感。。

$ratings_score = get_post_meta($post->ID,\'ratings_score\',true);
orderby = $ratings_score / days ago
我如何才能做到这一点?

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

您可以通过按计算因子排序来实现这一点。将评级除以天数可以给出一个良好的起点:

rating/days = factor (e.g. 15/6 = 2.5 or 11/3 = 3.6)
您可以通过将变量(评级和日期)与您喜欢的任何因素相乘来平衡这一点。

有多种方法可以实现这一因素:

使用wp cron每小时刷新每篇文章的系数,并将值另存为Posteta。因此,您可以轻松地使用WP\\u查询并按meta\\u值对帖子进行排序。

  • 直接在帖子循环中计算因子

  • SO网友:robin
    $args = array( \'post_type\' => \'product\', \'numberposts\' => -1, 
           \'orderby\' => \'meta_value_num\', \'order\' => get_query_var(\'order\'), 
           \'meta_key\' => \'_price\' );
    $lastposts = get_posts( $args );
    
    结束

    相关推荐

    Thesis Theme Custom Loop

    我正在使用论文主题构建一个网站,并使用论文自定义循环API和自定义WP\\U查询。当我在单页上执行此操作时,它不会显示评论表单。如何在单个帖子页面上添加评论表单