Количество сообщений или пользовательских типов сообщений за последние 24 часа (или с сегодняшнего дня)

Я хотел бы отобразить счетчик для пользовательских типов сообщений (или сообщений), которые были опубликованы в этот день (последние 24 часа или СЕГОДНЯ). Я использую этот фрагмент, чтобы получить количество сообщений из «сообщений» или «пользовательских типов сообщений»,

<?php $numposts = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts WHERE (post_status = 'publish' AND post_type = 'post')"); if (0 < $numposts) $numposts = number_format($numposts); ?> 

в шаблонах:

 <?php echo $numposts ?> 

но я не знаю, как показывать счет только за последние 24 часа или СЕГОДНЯ (это означает, что с полуночи до полуночи)

Solutions Collecting From Web of "Количество сообщений или пользовательских типов сообщений за последние 24 часа (или с сегодняшнего дня)"

Вы можете написать свою собственную функцию (добавить ее в файл functions.php :

 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('Ymd H:i:s', strtotime('-24 hours')) ) ); return $numposts; } 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('Ym-d', time()) ) ); return $numposts; } 

И затем используйте его в шаблоне:

 <?php echo get_posts_count_from_last_24h(); ?> <?php echo get_posts_count_from_today(); ?>