LearnPress Student & Instructor Messaging Plugin
LearnPress is one of the most-installed free LMS plugins on WordPress, with a course/lesson/quiz model used by tens of thousands of online schools. Students with a question for the instructor need a fast on-site way to reach them — email is slow, forums get unmonitored. Better Messages adds a real-time chat layer to LearnPress with a Message Instructor button on every course, an auto-managed Course Group Chat, a Send Message button on the LearnPress instructor profile, and a Messages tab inside the LearnPress profile.
What Better Messages adds to LearnPress
When LearnPress is detected and the integration is enabled under Better Messages → Settings → Integrations → LMS:
- Message Instructor button on every LearnPress course page.
- Send Message button on the LearnPress instructor archive (
/instructor/<slug>/). - Course Group Chat — auto-created per course, with the instructor and every enrolled student auto-joined.
- Messages tab inside the LearnPress profile (
/lp-profile/<slug>/messages/) so students read and reply to conversations without leaving their profile. - Use the LearnPress profile as the primary messages location — every internal Messages link can be routed to the LearnPress profile Messages tab.
Message Instructor button on course pages

Styled to match LearnPress's native course buttons. Hidden for the instructor on their own course. For custom layouts, use the shortcode:
[better_messages_learnpress_course_button]
[better_messages_learnpress_course_button course_id="123"]
[better_messages_learnpress_course_button text="Ask the instructor"]
Course Group Chat — auto-managed enrollment
When Course Group Chat is enabled, opening a course creates a group conversation. Students are added on enrollment and removed when their enrollment ends.

The conversation header shows the course thumbnail, title, and instructor name — students always know which course they are in. The card also appears on private DMs opened through the Message Instructor button so the recipient knows which course the student is asking about.
Messages tab in the LearnPress profile

Adds a Messages tab to the LearnPress user profile that embeds the full Better Messages inbox. Combined with Messages Location → Show in LearnPress Profile, every internal Messages link routes here.
Shared LMS settings
Three toggles under Better Messages → Settings → Integrations → LMS → Shared Course Settings apply across all LMS integrations:
- Course Info Card (on by default) — banner above each course conversation.
- Email Notifications (on by default) — standard new-message email.
- Push Notifications (off by default, WebSocket version) — integration-level real-time push.
Installing Better Messages on a LearnPress site
- Install Better Messages from WordPress.org and activate it.
- Open WP Admin → Better Messages → Settings → Integrations → LMS and enable the LearnPress toggles you want.
Free vs WebSocket version for LearnPress sites
| Feature | Free version | WebSocket version |
|---|---|---|
| Message Instructor button on course page | yes | yes |
| Auto-managed Course Group Chat | yes | yes |
| Messages Profile Tab inside LearnPress | yes | yes |
| Courses widget on the Mini Widgets bar | yes | yes |
| Real-time delivery | polling | instant |
| One-on-one voice and video calls inside course threads | — | yes |
| Group voice and video calls (cohort office hours, study sessions) | — | yes |
| Web push notifications for new messages | — | yes |
| Push notifications for course messages | — | yes |
| Read receipts | — | yes |
| End-to-end encryption (optional per thread) | — | yes |
For LearnPress sites running paid courses, the WebSocket version's group calls and web push are the difference between students who check the course once a week and a cohort that engages daily — instant delivery for questions, group office hours inside the thread, push notifications that pull students in.
Frequently asked questions
Does it work with LearnPress's WooCommerce-based payments?
Yes — Better Messages reads LearnPress's enrollment state, which is set by the same hooks regardless of payment method.
What happens when a student's course access expires?
LearnPress fires its standard enrollment-end hooks; Better Messages removes the student from the Course Group Chat. Their previous messages stay in history.
Can I have a course chat that includes multiple instructors?
The course author is auto-joined as the primary instructor. Additional instructors can be added manually to the chat, or via a custom filter for sites with multi-instructor course models.
Does it work alongside other LMS plugins?
Yes — sites running LearnPress alongside another LMS (LearnDash, Tutor LMS, MasterStudy LMS) see all course chats together in the Courses widget. Each integration loads independently.
Will students lose their messages if I migrate to a different LMS?
No — Better Messages stores threads in its own tables, independent of any LMS. Migrating LMS plugins keeps the chat history; only the LMS-specific surfaces (course page button, profile tab) re-bind.
See also
- LearnPress integration documentation — full setup reference
- WordPress LMS chat plugin — comparing every LMS integration
- LearnDash student messaging plugin
- Tutor LMS student messaging plugin
- Group conversations — how group chats work in general