[WordPress] 外掛分享: GSheet Membership

首頁 › 外掛目錄 › GSheet Membership
WordPress 外掛 GSheet Membership 的封面圖片
全新外掛
安裝啟用
—
尚無評分
7 天前
最後更新
—
問題解決
WordPress 5.9+ PHP 7.4+ v4.10.16 上架:2026-08-19

內容簡介

GSheet Membership 外掛讓您使用私人的 Google Sheet 作為會員資料庫,並提供安全的登入和頁面訪問控制,確保會員資料的隱私與安全。

【主要功能】
• 私人 Google Sheet 資料庫,無公開分享
• 會員登入頁面,回到前端內容
• 每行包含電子郵件和會員代碼
• 設定每頁的會員代碼限制
• 自訂登入頁面,使用短碼顯示
• 會員到期提醒與寬限期設定

外掛標籤

開發者團隊

⬇ 下載最新版 (v4.10.16) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「GSheet Membership」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Access — the login and page gate
GSheet Membership lets you use a private Google Sheet as your membership database.

Truly private — the sheet is never shared publicly. Access is granted exclusively to a Google Service Account that you control.
Login gate — roster members sign in through the member login page. Administrator dashboard authentication stays on WordPress’s native login path and does not require the administrator’s email on a membership roster; member logins return to front-end content rather than the dashboard.
Membership codes — each row contains an email address and a membership code (e.g. GOLD, SILVER, PLATINUM).
Per-page restrictions — set required membership code(s) on any page or post via a sidebar panel.
Flexible access-denied handling — redirect to a custom URL or show a configurable inline message.
Encrypted roster cache — the entire fetched roster is encrypted as one authenticated payload before it is cached in a non-autoloaded WordPress option. On a cache hit, the whole payload is decrypted for the existing lookups; it is not encrypted or decrypted one member at a time. The OAuth2 access token is cached separately.
Site Mode — every site runs as Main (a single roster) or Chapter (its own local roster, alongside or instead of the main one) — Chapter mode is enabled by the separate Chapters add-on.
Expiration handling — warn members as their membership approaches its end, grant a configurable grace period after it lapses, and show a custom message once access is revoked.
Extra user-info fields — map any additional sheet columns (address, phone, region, or anything else you track) so members can view and verify them on the front end via [gsma_user_info].
Custom login page — host the sign-in form on any WordPress page you choose with the [gsma_login_form] shortcode, instead of WordPress’s default login screen.
Front-end appearance controls — force the login form and status panel to keep their original colors if your theme recolors them, and scale their text size independently of your theme.
Two code-matching modes — require an exact membership code, or “letters mode,” where a member’s code must simply contain every letter in the required set (e.g. a required code of “AB” matches any member code containing both A and B).

How it works
The plugin authenticates using a Google Service Account — a special non-human Google account your server uses to read and update the sheet. You share the spreadsheet with it; no one else can access the sheet. With OpenSSL available, the saved service-account JSON is encrypted at rest; the roster cache is only written when it can be encrypted. The two use separate keys derived from this WordPress installation’s security salts. They are not exposed in the browser or source code. The entire cached roster is decrypted in server memory when it is read; this does not encrypt old backups made before the upgrade.
Signing in
There’s no separate account-creation step for members. A member already on the roster enters their email on your sign-in page: the first time, a 6-digit verification code is emailed to them and they’re prompted to create a password after entering it; after that, they sign in with the password directly. See the FAQ entry below for the full flow.
Optional Pro add-on
GSheet Membership Pro adds authenticated mailbox sending, Group Email (including Mailchimp campaign delivery), Email-in, File Delivery links and optional PDF watermarks, PayPal checkout, gift purchases, editable membership levels, and admin tools to retry failed sheet writes and refund supported purchases. Pro can also sync roster contacts to Mailchimp and EmailOctopus without sending a campaign; EmailOctopus is a sync option, not a campaign-delivery gateway. The Access and Sales admin screens show read-only previews of relevant Pro features and a direct upgrade button. After purchasing, install and activate the Pro add-on, then complete its license activation; the free plugin’s existing settings stay in place.
Compose’s Sync Roster action syncs its filtered recipients to the connected providers and can supply a selected attachment through a personalized GDLINK1 field. The separate Mailchimp and EmailOctopus settings-card buttons save the card and sync the full roster only to that provider.
Pro and Chapters check the required Free features before loading their modules, so an add-on update arriving first through Freemius can keep working with compatible older Free versions. Unsupported combinations pause with an admin notice, preserve saved settings, and resume automatically after a compatible Free update. New optional functionality can require a newer Free version without pausing an otherwise compatible add-on.
Built for organizations with branches or chapters
Most membership plugins assume one site and one member list. Many real organizations don’t work that way: a national society with local chapters, an alumni association with regional groups, a union with locals. GSheet Membership was designed for exactly that structure:

One national roster, many chapter rosters — the national organization keeps the master membership sheet; each chapter keeps its own local roster sheet. Both live in ordinary Google Sheets the organization owns.
Each chapter runs its own WordPress site — with its own pages, branding and admins, while membership checks stay consistent: a chapter site can honour the national roster, its local roster, or both.
Chapter-local sales and email — in chapter mode, membership sales write to the chapter’s own roster, and group email (Pro add-on) goes to the local chapter list.
Conditional chapter pricing — when the Chapters add-on is configured, the buyer checks their main-organization membership before checkout. Current main members see chapter-only pricing; expired main members see a combined total based on the main site’s published price plus local chapter dues.
Separate identity and dues checks — Chapters confirms main and chapter records independently and revalidates selected row tokens at submission. When Pro gifts are enabled, the recipient’s main membership determines dues; the giver’s signed-in identity is not reused as recipient proof. Combined purchase confirmations identify both memberships and the exact total while preserving the configured email template.
Your organization owns the data — roster sheets stay in your own Google account rather than a hosted membership database. Chapter mode requires the separately licensed Chapters add-on on participating chapter sites.

Chapter mode is provided by the GSheet Membership — Chapters add-on; the free plugin covers everything a single-roster organization needs.
Public pricing data for chapter sites
The free plugin provides the unauthenticated, read-only GET /wp-json/gsma-sales/v1/pricing endpoint so a configured Chapters site can display the main organization’s current combined-price options. The JSON response contains the main site’s configured membership levels, pricing matrix, membership-code matrix, delivery and postage options, currency, and access_match_mode (exact or letters). It does not contain roster or buyer data. Responses advertise a five-minute public cache (Cache-Control: public, max-age=300); the chapter site validates and caches this pricing separately.
On a chapter site, the Chapters add-on checks the buyer’s email against the main roster. If no email match is found, the buyer can check a box to self-report main-organization membership; that statement is not verified and must not be treated as proof of membership. A last-name lookup can help locate a possible roster record, but a buyer’s selection there is also not authentication. Chapter administrators should review these cases using their normal membership procedures.
Combined sales write the chapter membership to the chapter site’s local roster and create a manual remittance worklist entry for the main-organization dues. No payment is transferred or remitted automatically. Chapter administrators must handle the main-organization payment separately and mark the worklist entry resolved after reconciliation. An optional per-sale email can notify a configured main-organization administrator; it is a notification only, not remittance or verification.
External services
This plugin connects to the following third-party services to provide its core functionality:
Google Sheets API and Google OAuth2 (developers.google.com)
Used to read and write membership data to your private Google Sheet, and to authenticate as your Google Service Account. When a page’s access is checked, when a purchase is recorded, or when you save settings and test the connection, the plugin sends: your Service Account’s signed authentication request to https://oauth2.googleapis.com/token, and membership-related row data (emails, membership codes, and — depending on which features you use — names, addresses, and purchase details) to https://sheets.googleapis.com. This only occurs because you have configured a Google Service Account and Spreadsheet ID; no data is sent to Google until you do so.
Google APIs Terms of Service: https://developers.google.com/terms
Google API Services User Data Policy: https://developers.google.com/terms/api-services-user-data-policy
Google Privacy Policy: https://policies.google.com/privacy
Stripe (stripe.com)
Used to process membership purchases via Stripe Checkout. Card details are entered on Stripe’s hosted checkout page, not this site. With the free plugin’s Stripe Connect flow, the hosted GSheet Connect service creates the Checkout Session and relays Stripe’s confirmation to the site; Pro can instead use your own Stripe API keys and a direct Stripe webhook. Stripe is contacted only when the gateway is enabled and connected or configured.
Stripe Terms of Service: https://stripe.com/legal/ssa
Stripe Privacy Policy: https://stripe.com/privacy
GSheet Connect (access-manager-pro.replit.app) — Stripe Connect mode
The plugin’s hosted payment service is used for Stripe Connect sales, including on a Pro site until its own Stripe keys are saved for the active mode. It handles “Connect with Stripe” onboarding, creates the Stripe Checkout Session for each purchase (applying the disclosed platform commission), processes refunds you issue from the dashboard, and relays Stripe’s payment confirmations back to your site. The plugin sends: your connected Stripe account ID, the purchase amount, currency and description, the buyer’s email address, and your site’s webhook address to https://access-manager-pro.replit.app. The service does not keep a membership roster; payment processing itself is performed by Stripe. A site using its own Stripe API keys instead of Connect does not use this service for checkout.
Service overview: https://access-manager-pro.replit.app
PayPal (paypal.com) — requires the GSheet Membership Pro add-on
Used to process membership purchases via PayPal Checkout as an alternative to Stripe. Only active if you install the Pro add-on and configure your PayPal credentials; the free plugin does not send any data to PayPal on its own.
PayPal User Agreement: https://www.paypal.com/us/legalhub/paypal/useragreement-full
PayPal Privacy Statement: https://www.paypal.com/us/legalhub/paypal/privacy-full
Mailchimp (mailchimp.com) — requires the GSheet Membership Pro add-on
Optional campaign delivery and roster-sync method in Pro. With an API key and selected audience, classic sends sync the current membership filter; segments-mode sends sync the full roster and target a segment. The optional Sync Roster action updates the audience without sending a campaign. Pro sends member email addresses, names, and optional personalized link fields from the Google Sheet to https://.api.mailchimp.com to add, update, or archive audience contacts as appropriate; it does not override contacts who unsubscribed or were cleaned. Only active when Pro is installed and Mailchimp is configured; the free plugin sends no data to Mailchimp on its own.
Mailchimp Standard Terms of Use: https://mailchimp.com/legal/terms/
Intuit Mailchimp Privacy Statement: https://www.intuit.com/privacy/statement/
EmailOctopus (emailoctopus.com) — requires the GSheet Membership Pro add-on
An optional roster-sync destination, not a Group Email campaign-sending gateway. If configured, Pro sends member email addresses, names, and optionally a personalized attachment-link field to https://api.emailoctopus.com to update the selected list without sending a campaign. The provider-card Sync Roster action syncs the full local recipient roster; Compose’s Sync Roster action uses the selected membership filter. The free plugin sends no data to EmailOctopus on its own.
EmailOctopus Terms of Service: https://emailoctopus.com/legal/terms
EmailOctopus Privacy Policy: https://emailoctopus.com/legal/privacy

延伸相關外掛

文章
Filter
Mastodon