можно наверное сделать так:
1) повесить хук на публикацию записи и при публикации очередной записи получить текущую дату и текущего пользователя пробежаться по БД и подсчитать кол-во его записей за указанный пероид и если больше 5, то не сохранять запись и отображать информационное сообщение.
2) создать мета поле для юзера в wp_usermeta, где для каждого юзера сохранять кол-во записей. Далее по крону ежесуточно очищать это метаполе. А при публикации записи, если значение меньше 5, то инкрементировать и публиковать запись, в ином случае показывать информационное сообщение и не публиковать запись пользователя.
$wpdb->get_results(SELECT COUNT(ID)
FROM `wp_posts`
WHERE wp_posts.post_type='post'
AND wp_posts.post_status='publish'
AND wp_posts.post_date = CURDATE()
AND wp_posts.post_autor = $user_id);