Zchand Smart Pricing Control

Plugin Banner

Zchand Smart Pricing Control

by Zahoor Ahmad

Download
Description

Zchand Smart Pricing Control turns a WooCommerce store that doesn’t publish prices into a working quote-request pipeline.

Hiding the price is the easy part, and it is where most “call for price” plugins stop. This one replaces the price and the Add to Cart button with a Contact for Pricing button that opens a popup enquiry form, saves every submission to its own screen in your admin, emails both you and the customer, and can notify your phone on WhatsApp the moment a lead arrives.

What Makes This Different

  • Enquiries are captured, not lost. Every submission is stored in your database with the customer’s details, the product they asked about, and the page they were on — with an unread counter on the menu, a single-entry view, and mark-as-read on open. Nothing is fired at a mailto: link that nobody checks.
  • WhatsApp alerts to the store owner. Get notified on your phone the moment an enquiry lands, through either CallMeBot (free, no Meta account needed) or the official WhatsApp Cloud API. Both have a one-click test button.
  • A built-in SMTP mailer. Enquiry email is worthless if it lands in spam, so the plugin can route WordPress mail through your own SMTP server. No second plugin required, and the test sender reports the exact failure reason when something is wrong.
  • Rules precise enough for real B2B. Hide by role, by individual user, or per product, with a whitelist that overrides everything — plus a preview mode so you can see exactly what a logged-out visitor sees without logging out.

Key Features

Enquiry Form & Inbox
* Popup enquiry form on the Contact for Pricing button — name, email, phone, message
* Every submission stored with product context, page URL, IP address, and timestamp
* “New” count bubble on the admin menu; entries mark themselves read when opened
* Branded HTML notification to you, plus an optional auto-reply to the customer
* Spam protection: nonce, honeypot field, and per-IP rate limiting
* [wcsp_contact_button] shortcode to place the button anywhere (attributes: product_id, label, style, action)

WhatsApp
* Owner notifications via CallMeBot or the WhatsApp Cloud API, each with a test button
* Customer-facing click-to-chat button and a floating bubble (left or right side)
* Pre-filled message templates with {product_name} and {product_url} tokens

Email Delivery
* Optional built-in SMTP — host, port, encryption, and authentication
* From Name and From Email settings
* One-click test email that reports the exact failure reason

Price Visibility Rules
* Hide prices from everyone, from specific roles, or from specific users
* Whitelist (force-show) prices for specific roles or users
* Rule priority: per-product overrides whitelist hide rule default
* Admins always see prices; add ?wcsp_preview=1 to any URL to preview the hidden state

Contact for Pricing Button
* Replaces the hidden Add to Cart with a customisable button
* Three display styles: Button, Link, Badge
* Configurable label, background colour, and text colour
* Opens the enquiry popup, or links to a URL you choose

Shop & Product Controls
* Separate settings for single product pages and shop/category loops
* Three loop button styles: Full, Compact, Icon Only
* Per-product “Smart Pricing” tab: Force Show, Force Hide, or Use Global Settings
* Granular per-product toggles for hiding the price, the cart button, and the contact button

Compatibility
* WooCommerce HPOS (High-Performance Order Storage)
* WooCommerce Cart & Checkout Blocks
* PHP 8.0+

Who Is This For?

  • B2B and trade stores that quote on request instead of publishing prices
  • Wholesale stores where only approved roles should see pricing
  • Made-to-order, bespoke, or variable-cost products that cannot carry a fixed price
  • Any store that would rather capture an enquiry than lose the visitor

Privacy

When a visitor submits the enquiry form, the plugin stores the name, email address, phone number and message they entered, together with the product they enquired about, the page URL they submitted from, their IP address, and the time of submission. The IP address is recorded so the per-IP rate limit can block form spam, and it is shown to you on the enquiry detail screen.

All of this is kept in a table in your own WordPress database. It is never sent anywhere else unless you deliberately enable one of the optional WhatsApp notification providers described below, and it is not used for tracking, profiling or analytics of any kind.

Deleting an enquiry from Smart Pricing Enquiries permanently removes that record. Deleting the plugin from the Plugins screen drops the enquiries table entirely, along with the plugin’s settings.

If your store serves visitors in a jurisdiction with data-protection rules such as the GDPR, mention this collection in your site’s privacy policy.

External Services

This plugin does not send any data to external services by default. It only contacts a third-party service if you explicitly enable and configure one of the optional WhatsApp notification providers below. Enquiry data is otherwise stored only in your own WordPress database, and enquiry emails are sent through your own WordPress mail configuration.

CallMeBot (optional — WhatsApp owner notification)
If you enable WhatsApp notifications and choose the “CallMeBot” provider, then each time a customer submits an enquiry the plugin sends an HTTPS request to the CallMeBot API (https://api.callmebot.com). The request includes the phone number you configured, your CallMeBot API key, and the message you configured (which may include the enquiry’s name, phone, email, product name and message). This is required to deliver the WhatsApp notification to you. CallMeBot is a third-party service: website https://www.callmebot.com/ , terms and privacy information https://www.callmebot.com/ .

WhatsApp Cloud API — Meta (optional — WhatsApp owner notification)
If you enable WhatsApp notifications and choose the “WhatsApp Cloud API” provider, then each time a customer submits an enquiry the plugin sends an HTTPS request to Meta’s Graph API (https://graph.facebook.com). The request includes your access token, phone number ID, recipient number and message template variables (which may include enquiry details). This is required to deliver the WhatsApp message. This service is provided by Meta Platforms, Inc.: terms https://www.whatsapp.com/legal/business-terms/ , privacy https://www.whatsapp.com/legal/ .

The “Contact via WhatsApp” chat button and floating bubble simply generate a standard wa.me click-to-chat link that opens in the visitor’s own browser/app; no data is sent to any server by the plugin for that feature.

  1. Upload the zchand-smart-pricing-control folder to the /wp-content/plugins/ directory, or install directly through the WordPress plugin screen.
  2. Activate the plugin through the “Plugins” screen in WordPress.
  3. Navigate to Smart Pricing Settings in the admin menu to configure the plugin.
  4. Optionally open any product and go to the Smart Pricing tab for per-product overrides.

Full setup instructions, a shortcode reference and troubleshooting notes are built into the plugin under Smart Pricing Docs.

Where do enquiries go?

Into your own database, and into a dedicated Smart Pricing Enquiries screen. Each entry keeps the customer’s name, email, phone and message alongside the product they asked about and the page they submitted from. The menu shows a count of unread enquiries, and an entry is marked read when you open it. You are also emailed a notification, and the customer can receive an auto-reply.

Do I need a Meta or Facebook account for the WhatsApp notifications?

No. CallMeBot works with just your phone number and a free API key, and needs no Meta account. If you already run a WhatsApp Business setup, you can use the official WhatsApp Cloud API instead. Both are optional, and neither is contacted unless you enable and configure it.

Do I need a separate SMTP plugin for the enquiry emails?

No. The plugin includes an optional SMTP mailer with host, port, encryption and authentication settings, plus a test sender that reports the exact reason a message failed. It is off by default, and when off the plugin uses your site’s normal mail configuration.

Can I put the contact button somewhere other than the product page?

Yes. Use the [wcsp_contact_button] shortcode anywhere — it accepts product_id, label, style and action attributes.

Do admins see prices even when “hide everyone” is enabled?

Yes. Users with the administrator or manage_woocommerce capability always see prices and the Add to Cart button, regardless of any rule.

How are guests treated?

Guests (non-logged-in visitors) are treated as the guest role. You can target them specifically in the hide/show role selectors.

What is the rule priority?

  1. Per-product: Force Show always visible
  2. Per-product: Force Hide always hidden
  3. Global whitelist match visible
  4. Global hide rule match hidden
  5. Default visible

Can I hide the price on some products and show it on others?

Yes. Use the per-product “Smart Pricing” tab in the product editor to override global settings on a product-by-product basis.

Does this work with variable products?

Yes. The plugin hooks into both woocommerce_get_price_html and woocommerce_variable_price_html.

Is this compatible with HPOS?

Yes. The plugin declares full compatibility with WooCommerce High-Performance Order Storage (HPOS) and Cart & Checkout Blocks.

1.1.4

  • Fix: Scoped add-to-cart CSS is now registered with wp_register_style() and attached via wp_add_inline_style() instead of being printed as inline style tags, per the WordPress plugin guidelines.

1.1.3

  • New: Documentation screen under Smart Pricing Docs, covering setup, rule priority, the shortcode, WhatsApp and SMTP configuration, and troubleshooting.
  • New: Support and custom-work contact details on the documentation screen.
  • Tweak: Enquiry detail fields now stack vertically instead of spreading across the row, and wrap to a single column on small screens.
  • Tweak: Refreshed the admin colour scheme to black and gold, with contrast checked against WCAG AA.
  • Compat: Tested against WordPress 7.0 and WooCommerce 10.9.

1.1.2

  • New: WhatsApp Cloud API (official Meta) as a selectable notification provider alongside CallMeBot.
  • Tweak: Renamed the plugin and prepared it for the WordPress.org directory (coding standards, escaping, external-services disclosure).

1.1.1

  • New: WhatsApp notification to the store owner on each enquiry (free, via CallMeBot) with a test button.
  • New: Branded HTML “newsletter” template for the admin notification and customer auto-reply emails.
  • New: Rich-text (visual) editor for the auto-reply message, with Email Design settings (accent colour, footer, logo).
  • New: Card-style layouts and a refreshed colour scheme across the admin.
  • Dev: Asset cache-busting while WP_DEBUG is enabled.

1.1.0

  • New: Popup enquiry form on the “Contact for Pricing” button (Name, Email, Phone, Message).
  • New: Enquiries are stored in the plugin backend with a new-count badge, single view, and delete.
  • New: Admin email notification plus optional customer auto-reply, with message tokens.
  • New: [wcsp_contact_button] shortcode to place the button anywhere (attributes: product_id, label, style, action).
  • New: Built-in SMTP mailer — send all site email through your own SMTP server (no third-party plugin required).
  • New: From Name / From Email settings and a one-click “Send Test Email” button that reports the exact failure reason.
  • New: Dedicated top-level “Smart Pricing” admin menu grouping Settings and Enquiries.
  • New: Spam protection — honeypot field and per-IP rate limiting.
  • Tweak: Refreshed admin colour scheme and product metabox layout.
  • Fix: WhatsApp floating bubble no longer leaves {product_name}/{product_url} tokens unreplaced.
  • Fix: Duplicate Add-to-Cart button in shop loops on block/FSE themes.
  • Fix: Saving one settings tab no longer wipes the others.

1.0.0

  • Initial release.
Back to top