我将在网站上实现一个热门和趋势部分。我在许多热门网站上看到过这样的部分,但我真的不知道这到底是怎么回事。
虽然我认为Hot section 是我自定义开发的最受欢迎的帖子(基于帖子视图)WP_Query. 这是可行的。
$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => \'publish\',
    \'meta_key\' => \'post_views\',
    \'orderby\' => \'meta_value_num\',
    \'ignore_sticky_posts\' => 1,
    \'paged\' => $paged,
);
$hot_query = new WP_Query( $args );
 但我还是坚持
Trending section. 创建自定义查询的具体想法是什么。
我想知道获取每个部分内容的最佳方法是什么。我试着在谷歌上搜索了几天,但没有找到任何有用的东西。
EDIT
我的帖子视图功能。
function set_post_views( $postID ) {
  if ( is_singular() ) {
    $count_key = \'post_views\';
    $count = get_post_meta( $postID, $count_key, true );
    if ( $count==\'\' ) {
      $count = 0;
      delete_post_meta( $postID, $count_key );
      add_post_meta( $postID, $count_key, \'0\' );
    } else {
      $count++;
      update_post_meta( $postID, $count_key, $count );
    }
  }
}
 
                    最合适的回答,由SO网友:Pieter Goosen 整理而成
                    在我个人看来,这可能会占用一些资源,因此您需要实现某种类型的缓存系统,甚至需要查看瞬态
您要做的是扩展当前的后视图功能,甚至为此创建一个后视图功能。您可能希望捕获每个视图两次,一次用于当前的正常页面视图($count_key) , 其次,对于使用maybe的自定义视图函数$custom_count_key
现在,这就是$custom_count_key 将工作:
当按正常方式访问页面(post)时,会记录页面视图
根据您想如何定义Trending section. 这将再次将值设置为0 在新的一天/一周/等开始时
您需要做什么:
如上所述,可以扩展或编写另一个页面视图函数来存储每日/每周/etc视图
创建一个每天/每周等特定时间运行的函数(以您需要的更好的为准),该函数将删除/清除该元字段的值。
创建自定义查询,以查询特定日期/周/等中具有最高浏览量的x数量的帖子。此查询检索到的帖子在每一天/周/等中都会有所不同,因为每个帖子的浏览量都会因页面访问而增加。
在删除/清除特定日期/周/等结束时的当前值之前,您还可以将一天/周/等的结果保存在db中以供将来参考,但这取决于您自己,甚至可能只是浪费时间和空间
这只是一个你可以使用的基本想法。我现在无法编写这样的代码,但是如果您使用这个想法来发布您的最终工作解决方案,那将是非常好的
祝你好运,在这个项目上一切顺利
 
                
                
                SO网友:Shady M Rasmy
                趋势页查询
$today = getdate();
$args = array(
          \'meta_key\'     => \'post_views\',
          \'meta_value\'   => \'1000\',
          \'meta_compare\' => \'>=\',
          \'orderby\'    => \'meta_value_num\',
          \'ignore_sticky_posts\' => 1,
          \'paged\' => $paged,
          \'date_query\' => array(
                array(
                        \'year\'  => $today[\'year\'],
                        \'month\' => $today[\'mon\'],
                         \'day\'   => $today[\'mday\'],
    ),
),
);
$trenquery = new WP_Query( $args );
 热页查询应相同,但元值应大于等于3000。此代码是当今的趋势。这段代码在我的站点和工作环境中进行了测试,我还每周、每月和所有时间添加