开发者社区> 问答> 正文

请教各位wordpress如何显示指定分类一周内最新文章数量

如题,想写一个导航栏,导航栏的每个分类拥有一个气泡显示一周内更新的文章数量。
已知获取一个分类的全部文章数量是

<?php
$posts = get_posts( 'numberposts=-1&category=分类id1,分类id2,分类id3' );
echo count($posts);
?>

请问如何实现显示一周内发布文章的数量?谢谢..
大致效果类似于b站这样
screenshot

展开
收起
落地花开啦 2016-06-16 17:45:55 2364 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    给你一个思路。
    放到 functions.php 中

    function newArticle($num,$cat){
        $args=array(
            'posts_per_page' => $num,
            'cat' => $cat,
            'order' => 'desc'
        );
        $posts = query_posts($args);
        if( have_posts() ) :
            $html = '<div class="newArticle">';
            $html .= '<ul>';
            foreach($posts as $post) :
                $html .= '<li>';
                    $html .= '<a href="'.get_permalink($post->ID).'" rel="bookmark"     title="'.$post->post_title.'">'.$post->post_title.'</a>';
                $html .= '</li>';
            endforeach;
            $html .= '</ul>';
            $html .= '</div>';
        endif;
        echo $html;
    }

    调用指定分类下指定数量的文章,分类ID编号可以在wordpress后台看到

    newArticle($num,$cat); // $num 要显示的数量; $cat 制定分类的ID

    指定数量的最新文章:

    newArticle($num,null); // $num 要显示的数量; 注意:null 一定要填写,否则出现PHP报错

    调用完成以后。你可以自己写一段代码,思路差不多是:需要设定一个制定时间,比如七天内这个分类出现的最新文章。wordpress默认应该是没有这个功能的。你可以在数据库查询,有多少内容,然后缓存到一个SQL表单,wordpress前台读取这个表单的数值。

    或者说,给每个分类的提示数量设置一个基数(比如0)。然后读取,这个分类下面更新过多少文章(前提做好时间范围控制)然后在这个基数上面添加这个数值。

    2019-07-17 19:41:38
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载