| 开发者 | mszaman |
|---|---|
| 更新时间 | 2026年11月11日 23:25 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
No. It is complete on a stock block theme. Twenty Twenty-Five and Twenty Twenty-Four are the reference themes.
Any provider that sends a message with one HTTP request. You give the request URL, method, headers and body, with placeholders for the number, the message, an API key and a sender ID. A "Provider preset" fills those fields for a known gateway (BulkSMSBD and Alpha SMS ship, and are listed only on a Bangladesh store; more can be added through the shopcurator_sms_presets filter). A development site uses a log sender, and a live site sends nothing until you choose a sender.
Yes. Its own social tags are off by default, and while one of those plugins is active they stay silent even if turned on.
Nothing is removed unless "Remove data on delete" is on under Advanced. With it on, the plugin's settings, newsletter sign-ups, verified phone numbers and cached data are removed. Orders and their notes are always kept.
Every seam below is called on a path the plugin itself walks, and is stable from 1.0.
shopcurator_loaded (action): after the plugin has booted. add_action( 'shopcurator_loaded', fn() => my_addon_boot() );SHOPCURATOR_VERSION (constant): the plugin's version, for version gating.Shopcurator\Support\Phone: normalise(), display(), is_valid(), find_user(), is_taken(). $e164 = \Shopcurator\Support\Phone::normalise( '01712345678', 'BD' );shopcurator_phone_rules, shopcurator_phone_rule (filters): add or change a country's number rule. add_filter( 'shopcurator_phone_rules', fn( $rules ) => $rules );shopcurator_sms_senders (filter): add a sender to the SMS section's list. add_filter( 'shopcurator_sms_senders', fn( $senders ) => $senders + array( 'my-sms' => new My_Sender() ) );shopcurator_sms_sender (filter): force one sender. add_filter( 'shopcurator_sms_sender', fn() => 'my-sms' );shopcurator_sms_presets (filter): add a gateway to the SMS section's "Provider preset" list. add_filter( 'shopcurator_sms_presets', fn( $p ) => $p + array( 'acme' => array( 'label' => 'Acme', 'url' => 'https://api.acme.test/send', 'method' => 'POST', 'body' => 'to={to_digits}&text={message}&key={api_key}' ) ) );shopcurator_account_alerts (action): print a notice at the top of every account screen. add_action( 'shopcurator_account_alerts', fn() => print '<div class="my-alert">…</div>' );shopcurator_order_actions (action): add a button beside an order's own actions. add_action( 'shopcurator_order_actions', fn( $order ) => print '<a href="…">Track</a>' );shopcurator_lost_password_form_mode (filter) and shopcurator_lost_password_code_form (action): the password reset screen's mode and its code form.shopcurator_phone_change_handled (filter, default false): return true to take a phone-change request yourself.woocommerce_get_sections_shopcurator, woocommerce_get_settings_shopcurator (filters): add a section or fields to the ShopCurator settings tab.shopcurator_purge_urls, shopcurator_purge_all (actions): clear a page cache when products or templates change. add_action( 'shopcurator_purge_urls', fn( $urls ) => my_cache_purge( $urls ) );shopcurator_order_held_for_code (action): an order was held for its confirmation code. shopcurator_held_order_admin_notification and shopcurator_held_order_customer_notification (actions) send the two emails.shopcurator_otp_ttl, shopcurator_otp_cooldown, shopcurator_otp_daily_cap (filters): a code's lifetime, the wait before another, and the daily limit per number. add_filter( 'shopcurator_otp_cooldown', fn() => 90 );shopcurator_login_throttle, shopcurator_login_throttle_max, shopcurator_login_client_ip (filters): turn the sign-in lockout off, set the failed sign-ins before it, and the address a connection is counted under. The count is per address and per name tried.shopcurator_sms_calling_codes (filter): the calling codes a one-time code may be sent to, by default only the store's base country. On a shared plan the base country's own part only: a US store's 1 does not reach the Caribbean numbers on +1 (add 1876 for Jamaica), nor a Russian store's 7 Kazakhstan. add_filter( 'shopcurator_sms_calling_codes', fn( $codes ) => array_merge( $codes, array( '44' ) ) );shopcurator_send_hsts, shopcurator_abilities_gate, shopcurator_allowed_abilities (filters): override the HSTS and Abilities settings, and let named abilities through the gate.shopcurator_og_default_image (filter): the attachment ID of the default share image.shopcurator_tokens (filter): the design tokens the plugin's styles read.