Dynamic Pricing Solution
8.2 or higher
6.8 or higher
~25,000+ lines
Role: Sole Developer & Architect
Timeline: 2 months (concept → production)
Codebase: ~25,000+ lines of custom PHP/JS/CSS
License: GPL v2 (available for commercial use)
Jewelry Pricing Engine transforms a standard WooCommerce store into a professional jewelry pricing platform. Instead of manually updating product prices every time gold or silver rates change, the plugin calculates the final price in real time using:
The result is a fully transparent, live price that updates instantly when the customer changes purity, weight, or quantity – without ever reloading the page.
The plugin follows a modular, object‑oriented design with the Singleton pattern for all core managers. This keeps the codebase maintainable, testable, and fast.
wp_jpe_metals – metals list with API symbolswp_jpe_purities – karat & factorwp_jpe_zones – geographic zones, currencies, country codeswp_jpe_pricing_rules – making charge type/value, wastage%, tax% per zone+metal+puritywp_jpe_rates – stores metal rates per currency with timestampwp_jpe_exchange_rates – currency conversion rateswp_jpe_logs – system logs (API, errors, info)wp_jpe_leads – customer quote requests from the popupWhen “Enable Dynamic Pricing” is checked for a product, the standard WooCommerce price is replaced by the calculated price. The product page shows:
Customers can change purity, weight, or quantity using dropdowns and inputs. The price recalculates instantly without page refresh, thanks to a custom AJAX endpoint (jpe_update_price) that returns a fresh breakdown and total.
A full‑featured popup allows visitors to:
The popup includes a “Diamond Guide” layer that educates customers on lab‑grown vs. natural diamonds and then leads to the same quote form.
When a customer submits the quote form, the plugin:
wp_jpe_leads table.A horizontal marquee‑style ticker at the top of the page shows live metal rates per gram in the visitor’s currency. It supports infinite scroll animation (CSS keyframes) and can be enabled/disabled from settings.
Instead of the standard “Add to Cart”, I replaced the add‑to‑cart row with:
{product_name}, {metal}, {total_price}) or opens the contact form popup.The original WooCommerce “Add to Cart” button is automatically hidden to avoid confusion.
Shows current metal rates in the store’s base currency, last update time, API provider status, and quick actions (manual fetch, configure APIs, view logs).
Create/edit/delete zones. Each zone has:
Zones are matched to visitors using IP geolocation. If no match, the first active zone is used.
Full CRUD for metals and purity levels. For purity, you set karat (e.g., 22) and conversion factor (e.g., 0.9167). The factor is automatically applied to metal rates to get the price for that purity.
Define business rules per zone + metal + (optionally) purity:
If a rule for a specific purity is not found, the plugin looks for a rule with “All Purities” (purity_id = NULL).
Filter logs by type (API, error, info, warning), status, date range. View detailed JSON data for each log entry. Admin can delete old logs or clear all logs.
Table with all quote requests. Columns: ID, name, phone, email, product, configuration, price, status, date. In‑line status dropdown (updates via AJAX) and delete button. Pagination and search/filter by status.
For each active zone, a separate Google Merchant Center XML feed is generated. The feed URL is shown in the Zones list (with copy button). Admin can manually regenerate all feeds. The feed respects the zone’s currency and pricing rules, and includes custom attributes (Metal, Purity, Weight).
MetalpriceAPI and Metals‑API have different response structures, rate limits, and base currency behaviours. I built two provider classes that normalise responses into a standard array (metal symbol → price per gram). If the primary provider fails, the system automatically switches to the secondary without any user intervention.
Instead of making separate API calls for each currency, I fetch a full response once (with base = INR) and then derive all other currency rates from the exchange rates inside the same API response. This keeps API calls minimal and respects rate limits.
All conversion is done on the server using stored exchange rates (updated hourly by cron). The frontend never calls an external currency API, ensuring performance and quota safety.
Purity (karat) only applies to gold. In the popup and on the product page, the purity selector is hidden for silver, platinum, and palladium. This logic is implemented both in PHP (initial render) and JavaScript (when the user changes metal).
The same market adjustment logic (percentage or multiplier) is applied to the metal rate in the product page, AJAX updates, cart, checkout, and generated XML feeds – ensuring price consistency across the entire system.
Every AJAX action verifies nonces (jpe_frontend_nonce, jpe_admin_nonce, jpe_popup_nonce) and capability checks (manage_options for admin actions). All POST data is sanitised and validated.
A JPE_DB_Installer class creates all tables on plugin activation (using dbDelta). A separate JPE_DB_Updater handles schema changes across versions (e.g., adding the currency column to the rates table).
The popup weight slider is implemented using jQuery UI Slider, but I added touch event handlers for mobile devices so users can drag the handle with their finger – critical for mobile conversion.
To prevent spam, the lead submission endpoint uses a transient‑based lock keyed by a fingerprint of (name+phone+email+product_id). The same user cannot submit another lead for 60 seconds.
The feed URLs accept a ?currency=XXX parameter. A dedicated JPE_Feed_Currency_Override class intercepts the request, forces the visitor’s currency via a cookie, and blocks all WordPress redirects (canonical, 404 guess, Yoast, Rank Math) to ensure the feed XML is served without interference.
“Built from the ground up to solve a real‑world problem in the jewellery e‑commerce space. The plugin is currently deployed on several live stores and processes thousands of price calculations daily with zero performance degradation.”
I’ve been trusted by business owners, startups, and professionals
who needed a reliable WordPress expert—and their feedback means everything to me.
EXCELLENT Based on 11 reviews Posted on Google Sujal YadavTrustindex verifies that the original source of the review is Google. Took help for SEO and small website changes. Everything was done on time and without hassle.Posted on Google Vinit RevankarTrustindex verifies that the original source of the review is Google. I’ve worked with a few developers before but Adnan is the first one who actually kept things simple. He built exactly what I asked for without any unnecessary features or extra costs. If you need someone honest for your web project, he's the one.Posted on Google Ayaan KhanTrustindex verifies that the original source of the review is Google. I've konwn Adnan very well He is knowledge is very useful whenever I got stuck on my work he is always solve my problemPosted on Google NitinTrustindex verifies that the original source of the review is Google. I've known Adnan for a while and his knowledge of digital foundations is on another level.Posted on Google Saurav AnandTrustindex verifies that the original source of the review is Google. I’ve known Adnan for a while and his technical knowledge is top-tier. Whenever I'm stuck on a complex issue, he’s the first person I call. The guy just knows how to build things the right way.Posted on Google Shreeya BanerjeeTrustindex verifies that the original source of the review is Google. I’m a developer myself but got stuck on a nasty virus injection. Adnan jumped in and cleared the whole directory by the next morning. Professional, fast, and knows his way around code. 5 stars well deserved.Posted on Google Ashal MohammadTrustindex verifies that the original source of the review is Google. Adnan managed to fix a site error that two other people couldn't figure out. He’s efficient, professional, and clearly knows his stuff inside out.Posted on Google Sk MrTrustindex verifies that the original source of the review is Google. It's rare to find someone who actually listens and delivers exactly what they say they will. Adnan was a total pro from day one. If you're on the fence, just go for it.Posted on Google Maajeed SayedTrustindex verifies that the original source of the review is Google. Adnan were punctual, efficient and professional in their digital services! Highly recommended!Verified by TrustindexTrustindex verified badge is the Universal Symbol of Trust. Only the greatest companies can get the verified badge who has a review score above 4.5, based on customer reviews over the past 12 months. Read more
No time to wait ? Call me ☕️ 🍞
I’m a freelance website developer passionate about building SEO-friendly, high-performing websites that help businesses grow online.