wordpress调用当日发布文章数量
制作wordpress主题时,需要调用当天网站发布的文章数量,博客吧前面发布过教程《实现wordpress限定时间段的文章数量》可以实现统计24小时内发布文章的数量,而今天的代码是实现统计当天发布文章的数量。
实现代码:
<?php
$today = getdate();
$query = new WP_Query( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&day=' . $today["mday"]);
$postsNumber = $query->found_posts;
echo $postsNumber;
?>
把代码添加到要显示的位置即可。
附:调用指定分类下的当天文章数量:
<?php
$today = getdate();
$query = new WP_Query( 'year=' . $today["year"] . '&monthnum=' . $today["mon"] . '&day=' . $today["mday"].'&cat=1');
$postsNumber = $query->found_posts;
echo $postsNumber;
?>
提示:&cat=后面的1是分类ID,wordpress获取分类ID的方法:
获取方法:
1、登陆博客后台,点击“文章”下的分类目录选项卡;
2、找到相关分类目录,把鼠标的箭头移到分类目录名称上面;
3、这时浏览器底部的状态栏下会显示一个链接地址,地址最后面有_ID=1,其中的1便是该分类目录的ID。看图:
提醒:第二步中不需要点击目录名称,只是把鼠标放在上面即可;第三步的_ID=1中的1是本站测试目录的ID,各个目录的ID是不相同的,根据自己博客的情况选择ID。
wordpress限定时间段的文章数量
调用wordpress某段时间内的文章数量似乎没什么作用,不过可能某些网站会有特殊需求而调用某段时间内的文章数量,比如有时效性的特价促销活动导购网站,可以通过显示文章数量告诉游客“今天有XXX个促销活动”、“三天内有XX个特价产品”等,也算有点提高用户体验的味道。
wordpress显示某段时间内文章数的代码如下:
function num_posts($days=1) {//$days就是设定时间一天;
global $wpdb;
$today = gmdate('Y-m-d H:i:s', time() + 3600 * 8);//获取当前的时间
$daysago = date( "Y-m-d H:i:s", strtotime($today) - ($days * 24 * 60 * 60) ); //Today - $days
$result = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE post_date BETWEEN '$daysago' AND '$today' AND post_status='publish' AND post_type='post' ORDER BY post_date DESC ");
foreach ($result as $Item) {
$post_ID[] = $Item->ID;//已发布的文章ID,写到一个数组里面去
}
$post_num = count($post_ID);//输出数组中元素个数,文章ID的数量,也就是发表的文章数量
$output .= '<a>'.$post_num.'</a>';//输出文章数量
echo $output;
}
通过调用代码显示:
<?php echo num_posts();?>