WordPress获取本周/今日/24小时内更新的文章数量

前些时在群里聊天,有个朋友在群里问: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\\\\\\\'); ?>