wordpress按评论数量调用文章

我们有一些商城场景,或者是产品类的数据,wordpress主题开启了评论功能,那么需要一个按照评论数量来排序的列表,当然有的文章是按照wordpress点击数量来排序的,那样的需要你的数据库里要有记录浏览次数的字段,这里介绍使用评论数量来实现免插件的热门文章调用。

第一种方法、按wordpress评论数量调用文章,这里主要是调用了 get_posts 函数。

<div class="hx_list">
    <?php
    $args = [
        'numberposts'=>10,
        'order'=>'ASC',
        'orderby'=>'comment_count'   //主要就是这里根据评论数量进行排序的
    ];
    $comments_posts = get_posts($args);
    foreach( $comments_posts as $post ) :
        ?>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    <?php endforeach; ?>
</div>

第二种方法、当然我们可以把上面的代码换成new Query方法,如下

<div class="hx_list">
    <?php
    $args = [
        'numberposts'=>10,
        'order'=>'ASC',
        'orderby'=>'comment_count'   //主要就是这里根据评论数量进行排序的
    ];
    $comments_posts = new WP_Query($args);
    if (have_posts()){
        while(have_posts()){
            the_post();
        ?>
        <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

    <?php
        }
    }
    wp_reset_postdata();?>
</div>

还有一种方式是通过直接查询数据库的方式:

<?php
$result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 10");
foreach ($result as $post) {
    setup_postdata($post);
    $postId = $post->ID;
    $title = $post->post_title;
    $commentCount = $post->comment_count;
    if ($commentCount != 0) { ?>
        <a href="<?php echo get_permalink($postId); ?>" title="<?php echo $title ?>">
                <?php echo $title ?></a> (<?php echo $commentCount ?>)
    <?php } } ?>

这里推荐用第一种或者第二种的方式来获取wordpress的文章列表按评论排序,最后一种的不太推荐。

我爱主题网 自2012
主题:260+ 销售:1000+
兼容浏览器

电话咨询

7*12服务咨询电话:

133-7205-6573

微信咨询