前些时在群里聊天,有个朋友在群里问:WordPress怎么获取到今日发布的文章数量,我嫌麻烦没有理会。

今天在做wordpress博客文章统计的时候,自己刚好要用到,于是在网上搜了搜,整理了一下几种文章统计的方式:

获取本周发布的文章数量

//WordPress获取本周发布的文章数量

function get_week_post_count(){
	$date_query = array(
		array(
			\'after\'=>\'1 week ago\'
		)
	);$args = array(
		\'post_type\' => \'post\',
		\'post_status\'=>\'publish\',
		\'date_query\' => $date_query,
		\'no_found_rows\' => true,
		\'suppress_filters\' => true,
		\'fields\'=>\'ids\',
		\'posts_per_page\'=>-1
	);
	$query = new WP_Query( $args );
	return $query->post_count;
}

使用方法:

将上面获取本周发布的文章数量代码添加到当前主题的 functions.php

<?php echo get_week_post_count()?>

获取今天发布的文章数量

//WordPress获取今天更新的文章数量

function get_posts_count_from_today($post_type =\'post\') {
    global $wpdb;

    $numposts = $wpdb->get_var(
        $wpdb->prepare(
            \"SELECT COUNT(ID) \".
            \"FROM {$wpdb->posts} \".
            \"WHERE post_status=\'publish\' \".
                \"AND post_type= %s \".
                \"AND DATE_FORMAT(post_date, \'%Y-%m-%d\') = %s\",
            $post_type, date(\'Y-m-d\', time())
        )
    );
    return $numposts;
}

使用方法

将上面获取今天发布的文章数量代码添加到当前主题的 functions.php ,然后在需要调用的地方使用下面的代码即可:

<?php echo get_today_post_count()?>

上面代码为获取默认为“post”这个文章类型,如果你要获取其他文章类型,比如 site,可以这样用:

<?php echo get_posts_count_from_today(\'site\'); ?>

获取最近24小时发布的文章数量

//WordPress获取最近24小时发布的文章数量 
function get_posts_count_from_last_24h($post_type =\'post\') {
    global $wpdb;

    $numposts = $wpdb->get_var(
        $wpdb->prepare(
            \"SELECT COUNT(ID) \".
            \"FROM {$wpdb->posts} \".
            \"WHERE \".
                \"post_status=\'publish\' \".
                \"AND post_type= %s \".
                \"AND post_date> %s\",
            $post_type, date(\'Y-m-d H:i:s\', strtotime(\'-24 hours\'))
        )
    );
    return $numposts;
}

使用方法

将上面获取最近24小发布文的章数量代码添加到当前主题的 functions.php ,然后在需要调用的地方使用下面的代码即可:

<?php echo get_posts_count_from_last_24h(); ?>

上面代码为获取默认为“post”这个文章类型,如果你要获取其他文章类型,比如 site,可以这样用:

<?php echo get_posts_count_from_last_24h(\'site\'); ?>

 

发表评论

您的电子邮箱地址不会被公开。