如题,想写一个导航栏,导航栏的每个分类拥有一个气泡显示一周内更新的文章数量。
已知获取一个分类的全部文章数量是
<?php
$posts = get_posts( 'numberposts=-1&category=分类id1,分类id2,分类id3' );
echo count($posts);
?>
请问如何实现显示一周内发布文章的数量?谢谢..
大致效果类似于b站这样
给你一个思路。
放到 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)。然后读取,这个分类下面更新过多少文章(前提做好时间范围控制)然后在这个基数上面添加这个数值。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。