| 开发者 | gturtle108 |
|---|---|
| 更新时间 | 2026年10月20日 03:55 |
| PHP版本: | 8.2 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
gather-grove-notion-sync folder to /wp-content/plugins/, or install via Plugins → Add New → Upload Plugin and choose the zip.••• → Connections → add your integration. (If you used the in-plugin creation tool, this is automatic.)No. The plugin hooks into elementor_pro/forms/new_record, which is only available in Elementor Pro.
Out of the box: Elementor Pro, Contact Form 7, WPForms (including the free Lite version), Fluent Forms, WooCommerce orders, and Gather Grove Booking (bookings, attendance, and purchases — members and guests). Any other service can POST to a secure incoming webhook, and developers can push records with gather_grove_notion_record(). Each source auto-activates when its plugin is present — see and manage them all on the Sources tab.
The plugin auto-extends the database schema. Field labels become column names; types are inferred from the source field type (email → Email, number → Number, etc.) with a rich_text fallback for anything unrecognized.
Only if you configure name fields as shared. By default, only Email, Phone, and Phone Number are treated as merge keys — they're the only fields reliably unique per person. You can edit the shared field list in settings, but adding name fields is a known footgun: a duplicate row is just visible noise, but a wrong merge silently destroys data.
Yes, if Elementor's Submissions storage is enabled (visible at Elementor → Submissions in WP admin). Use the Backfill Historical Submissions section in plugin settings. Backfill is idempotent — re-runs skip already-synced submissions.
The token is stored encrypted at rest using AES-256-GCM. The encryption key is derived from your WordPress AUTH_KEY (defined in wp-config.php) via SHA-256. This defends against database-only leaks (e.g. SQL injection in another plugin, leaked DB backups). It does not defend against full server compromise — if an attacker has both the database and wp-config.php, the token can be decrypted.
Notion databases cap at ~100 properties. Most sites stay well under this. If you have many forms with mostly-unique fields, the connection banner shows the property count so you can monitor it. The fix is either to share more field labels across forms (so they collapse into single columns) or to use multi-database routing to split forms across multiple Notion databases.
The plugin retries once immediately, after a one-second pause — deliberately not the longer wait Notion's Retry-After header asks for, because this runs while your visitor waits for the form to submit. If that retry also fails, the write is handed to a background queue with exponential backoff (1 min → 5 min → 30 min → 2 hr → 12 hr), where waiting properly costs nobody anything. After 5 attempts the entry is dead-lettered; dead-lettered writes are visible on the Tools tab with a "Clear" control.
A failure that retrying cannot fix — no token, a revoked token, a deleted database — is reported rather than queued. Retrying those just fills the queue with the same error.
Not in this release. Each form has at most one destination (its override, or the default). If you need fan-out, the simplest workaround is to query the destination Notion database via Notion's own automations to forward rows.
gather_grove_notion_sync_ prefix. Your connection, settings and mappings carry over automatically on update.GATHER_GROVE_NOTION_SYNC_WEBHOOK_SECRET. The previous name keeps working.gather_grove/notion_sync/submission.