Overview
HT Event Importer for Meetup imports Meetup events into WordPress as real event posts. Those posts can have featured images, venue metadata, maps, attendee counts when Meetup exposes them, and schema.org Event JSON-LD for search engines.
The plugin is designed for organizers who want their events to live on their own WordPress site while keeping control over what information is public.
- Free supports one Meetup group, manual imports, public event pages, shortcode layouts, widgets, privacy controls, schema settings, and metadata bridges.
- Pro adds multiple Meetup groups, scheduled imports, the authenticated Chrome extension connector, multisite support, and access to Pro updates.
- If a Pro subscription is not renewed, installed Pro features can keep working, but update access stops until renewal.
Installation
- Upload the
hyperthings-event-importer-for-meetupfolder to/wp-content/plugins/. - Activate
HT Event Importer for MeetupfromPluginsin WordPress. - Open
HT Event Importer for Meetup > Settingsand review display, import, privacy, and schema defaults. - Open
HT Event Importer for Meetup > Groupsand add your first Meetup group slug. - Use
Test / Resolveto validate the group before importing events. - Open
HT Event Importer for Meetup > Eventsand run an import. - Create or edit a WordPress page and add
[ht_meetups_events]where the event list should appear.
Settings > Permalinks and save once if your event URLs do not refresh automatically.Configuring Meetup Groups
Groups are managed under HT Event Importer for Meetup > Groups. The free plugin allows one active group. Pro allows multiple groups.
Find the group slug
Use the readable part of the Meetup URL, not the numeric group ID. For example, if the URL is https://www.meetup.com/es-es/madrid-pianomeetups/, use madrid-pianomeetups.
Validate the group
After adding a group, click Test / Resolve. A valid group stores resolved metadata such as the group name, resolved URL, group ID, member count when available, and validation time.
Validmeans the group was found and can be used for imports.Untestedmeans the group was saved but has not been resolved yet.Unsupportedusually means a numeric group ID was used instead of a slug.Lockedmeans the group is present but not available under the current Free/Pro plan.Errormeans Meetup did not return usable public data for that group at validation time.
Group-level schema overrides
Each configured group can override the global schema organizer, performer, and offer fields. Leave fields empty to inherit the global defaults from settings.
Importing Events
Events are imported from HT Event Importer for Meetup > Events. Imports create or update one WordPress event post per Meetup event, using the Meetup event ID as a stable slug.
Import by group
- Choose a group, or choose all configured groups when your plan allows it.
- Choose
Future events onlyfor normal publishing. - Choose
All events, including pastwhen you want historical events in WordPress too. - Click
Import Eventsand review the result notice showing how many events were found and imported.
Import by event ID or URL
Use Import by Event ID or URL when you need one or more specific events. You can paste one ID or URL per line.
315466787
https://www.meetup.com/example/events/315466787/Update policy
The settings page controls what happens when an imported event already exists. You can update existing events, status, category, title/description, and featured image independently.
| Setting | What it does |
|---|---|
| Update existing events | Allows re-imports to update already imported WordPress event posts. |
| Update status | Lets imports change post status according to the configured import status behavior. |
| Update category | Lets imports replace the assigned WordPress category. |
| Update title and description | Lets imports refresh post title and content from Meetup. |
| Update featured image | Lets imports refresh the featured image when Meetup exposes an image. |
Displaying Events
The main display tool is the [ht_meetups_events] shortcode. Add it to any page, post, or block that supports shortcodes.
[ht_meetups_events]
[ht_meetups_events limit="6" future_only="yes" format="list"]
[ht_meetups_events limit="6" format="grid"]
[ht_meetups_events limit="12" format="calendar"]
[ht_meetups_events group_id="12345" category="music" order="asc" orderby="start_time"]
[ht_meetups_events start_date="2026-01-01" end_date="2026-12-31" past_events="yes"]| Attribute | Values | Default | Purpose |
|---|---|---|---|
limit | Number | 10 | Maximum number of events to show. |
posts_per_page | Number | Empty | Alias for limit. |
future_only | yes or no | yes | Show only upcoming events unless disabled. |
past_events | yes or no | no | Set to yes to include past events. |
format | list, grid, calendar | list | Choose the layout. |
show_empty | yes or no | yes | Show or hide the empty-state message. |
group_id | Meetup group ID | Empty | Show events from one imported Meetup group. |
category | WordPress category slug | Empty | Show events assigned to one category. |
start_date | YYYY-MM-DD | Empty | Filter events on or after this date. |
end_date | YYYY-MM-DD | Empty | Filter events on or before this date. |
order | asc or desc | asc | Sort direction. |
orderby | start_time, event_start_date, title, post_title | start_time | Sort by event date or title. |
Widget
The plugin includes a Meetup Events widget for sidebars and widget areas. It lists imported events and supports the same list, grid, or calendar output style.
Theme styling hooks
The shortcode outputs predictable CSS classes so your theme can style the list without editing plugin files.
.mpm-meetup-events {}
.mpm-meetup-event {}
.mpm-meetup-event__title {}
.mpm-meetup-event__thumb {}
.mpm-meetup-event__body {}
.mpm-meetup-event__meta {}
.mpm-meetup-event__description {}
.mpm-meetup-events--list {}
.mpm-meetup-events--grid {}
.mpm-meetup-events-calendar {}
.mpm-meetup-events-empty {}Settings Reference
Display and privacy
| Setting | Recommended use |
|---|---|
| Show description | Disable when you want compact listings or when imported descriptions include sensitive details. |
| Location display | Hidden, City, or Exact. Use City for a privacy-first default. |
| Show coordinates | Enable only when exact coordinates are appropriate for public display. |
| Map zoom | Controls the map zoom level from 1 to 18. |
| Show attendee count | Displays RSVP/attendance counts when Meetup exposes them. |
| Show waitlist | Displays waitlist count when available. |
| Show capacity | Displays event capacity when available. |
| Use featured image | Uses imported Meetup event images as WordPress featured images when available. |
| Link event listings directly to Meetup | Makes listing links go to Meetup instead of the local WordPress event page. |
Import behavior
| Setting | Recommended use |
|---|---|
| Event URL slug | The base path for event posts. Default is meetup-events. |
| Frontend time format | Use WordPress default, 12-hour, or 24-hour display. |
| Import post status | Choose publish, draft, or pending for imported events. |
| Imported event category | Assign all imported events to a WordPress category. |
| Update policy checkboxes | Control whether re-imports update existing status, category, content, and image fields. |
Google Event Schema
Single imported event pages output schema.org Event JSON-LD. This helps search engines understand event dates, names, descriptions, venue data, images, source URL, organizer, performer, and ticket/offer information when available.
Schema data can be configured at three levels. Event-level settings win over group settings, and group settings win over global settings.
HT Event Importer for Meetup > Settings: global organizer, performer, and offer defaults.HT Event Importer for Meetup > Groups: per-group schema overrides.HT Event Importer for Meetup > Events: per-event schema overrides.
| Schema field | Purpose |
|---|---|
| Organizer name and URL | Identifies the organization publishing or organizing the event. |
| Performer name and URL | Useful for talks, workshops, concerts, panels, or named speakers. |
| Offer enabled | Adds ticket/price information when Meetup does not expose pricing but your event has a known price. |
| Offer name, price, currency, URL, availability | Outputs schema.org offer data. Currency should be a 3-letter code such as EUR or USD. |
Integrations
HT Event Importer for Meetup stores events as WordPress posts and syncs common metadata for popular event plugins when they are installed.
- The Events Calendar
- Events Manager
- GatherPress
- Conditional Elementor elements when Elementor is active
- Conditional WPBakery elements when WPBakery is active
These integrations are metadata bridges. Your theme or event plugin may still require template adjustments depending on how it displays custom event fields.
Pro, Licensing, and Updates
The Pro add-on requires the free plugin to be installed and active. After installing Pro, go to HT Event Importer for Meetup > Pro License, paste the license key, save, and optionally run Test connectivity.
- A valid license makes multiple groups, scheduled imports, Chrome extension connector access, multisite support, and Pro updates available.
- A stale license means Pro features remain enabled locally, but update access is not available until renewal.
- An invalid or empty license keeps Pro-only features not active.
Scheduled Imports
Scheduled imports are a Pro feature. They use WordPress cron, so they run when your site receives traffic or when your server triggers WP-Cron externally.
- Activate the Pro add-on and save a valid license.
- Open
HT Event Importer for Meetup > Settings. - Enable scheduled imports.
- Choose the frequency, such as daily, twelve hours, or six hours when available.
- Save settings and check the last-run/last-result fields after the next scheduled run.
wp-cron.php.Chrome Extension Connector
The Chrome extension connector is a Pro feature for administrator-approved authenticated imports when public Meetup data is incomplete. It is useful when Meetup hides venue, address, coordinates, or other event details from anonymous visitors.
- Install and activate the Pro add-on with a valid license.
- Open the connector area in plugin settings and confirm the connector token is present.
- Install the bundled Chrome extension package supplied by Pro.
- Sign in to meetup.com using the Chrome profile that will provide the session.
- Use the extension to send the session payload to your WordPress site.
- Return to WordPress and run the import again.
Troubleshooting
| Problem | What to check |
|---|---|
| Group will not validate | Confirm you entered the group slug, not a full URL or numeric ID. Try opening the Meetup group in a private browser window to see whether public data is visible. |
| No events imported | Check whether the group has future events, try All events, including past, and confirm Meetup returns public event pages. |
| Location or map is missing | Meetup may hide venue/address/coordinates. Check privacy settings and consider the Pro Chrome extension connector if authenticated access is appropriate. |
| Event URL returns 404 | Save Settings > Permalinks in WordPress after changing the event slug. |
| Shortcode shows no events | Check future_only, past_events, date filters, post status, and whether events are published. |
| Featured image is missing | Confirm Meetup exposes an image and that WordPress can download remote media from your server. |
| Scheduled import does not run | Scheduled imports require Pro and WordPress cron. Low-traffic sites may need a server cron. |
| Pro license shows invalid | Confirm the license key, product key, license server endpoint, and outbound HTTPS connectivity from WordPress. |
Privacy and External Services
The plugin connects to meetup.com to retrieve event and group information selected by the site administrator. Meetup may receive your server IP address and normal HTTP request metadata.
The plugin can store event title, date, description, image URL, venue, approximate location, coordinates, attendee count, waitlist count, capacity, status, Meetup source URL, and related metadata when Meetup exposes those fields.
- The plugin does not display attendee names.
- The plugin does not display organizer names by default.
- Exact location and coordinates can be hidden from frontend output.
- Authenticated session imports should be used only by trusted administrators.
FAQ
Can I use the plugin for free?
Yes. The free plugin supports one Meetup group, manual imports, event pages, shortcode display, widgets, privacy controls, schema data, and supported metadata bridges.
Do I need Meetup.com Pro?
No. HT Event Importer Pro is this WordPress plugin add-on. It is separate from Meetup.com Pro or any organizer subscription paid to Meetup.
What happens if I stop paying for Pro?
Your installed Pro features keep working locally. You simply stop receiving Pro updates, compatibility fixes, and new Pro improvements until renewal.
Can I translate the docs?
Yes. This page is backed by a language file. Add another docs.{locale}.php file and load it with ?lang={locale}.