Andrew Dorokhov

Affiliate marketing · Gaming chair review site

A WordPress plugin that shows visitors only the gaming chairs made for their height and weight

A shortcode tool for an affiliate review site: visitors set height and weight ranges on two sliders, in metric or imperial units, and get the chairs that fit with a link to the price. The editor updates the catalog by uploading a CSV.

visitors a month on the site it runs on
10k+
unit systems: cm and kg, ft and lbs
2
to replace the whole catalog
1 CSV

The challenge

What the client needed

The client runs an affiliate review site about gaming chairs. Most models come in several sizes, and each size is made for a range of heights and weights.

Size tables in articles leave the matching to the reader. The client wanted a tool that does it for them: set your height and weight, see the chairs that fit, click through to the price.

The catalog changes as new models come out, so the editor had to update it without a developer. And the site's readers don't all think in centimetres and kilograms.

The approach

How I solved it

01

Two sliders and a list

The tool is a WordPress shortcode, so it goes into any post or page. Visitors drag both ends of a height range and a weight range on noUiSlider sliders. When they let go, the page asks the server for matching chairs over AJAX and shows them as cards with a picture, a badge and a 'Check price' link.

02

One query on its own table

Chairs live in a dedicated table that the plugin creates on activation and drops on uninstall, with an index on each of the four bounds. A search is a single SELECT built with $wpdb->prepare, so slider values never reach SQL as raw text. Guests get results the same way as logged-in users.

03

Metric or imperial

A switch moves both sliders between centimetres and kilograms and feet and pounds, with their own scales, labels and steps. The table stays metric: values are converted on the way to the server, so the editor keeps one set of numbers.

04

A catalog from one CSV

The editor uploads a spreadsheet on the plugin's admin page. The importer finds each of the eight columns by keywords in its header, such as 'min weight', 'image url' or 'link', so the column order and the exact wording don't matter. A file with a missing column is rejected with an error instead of half an import.

05

An admin page for the editor

The page lists every chair in a sortable, searchable DataTables table with links to its image, badge and product page. It shows a notice after each import, and a 'Delete all records' button, behind a confirmation, empties the table before a fresh upload.

In motion

Highlights

01

Results when you let go

The visitor narrows the height range, then the weight range. Each time a handle is released the list reloads with the chairs whose size range fits inside the new one.

Height and weight sliders are dragged; after each release the chair cards reload and the count changes from 6 to 3.
02

Feet and pounds on a switch

One switch turns both sliders into feet and pounds and back. The labels, scales and tooltips change; the database still gets centimetres and kilograms.

The cm·kg / ft·lbs switch flips; slider labels change from 160 cm and 60 kg to 5.25 ft and 132 lbs, the chairs reload, then the switch goes back to metric.
03

Columns found by name

The editor's CSV has its own column order. The importer matches each header to a field by keywords, imports the rows and fills the admin table.

CSV headers are highlighted one by one and matched to the fields name, min_weight, max_weight, min_height, max_height, image_url, badge_url and link; then a 'You have imported 10 records!' notice appears and the chairs fill the table.

See it in action

The product

The picker: two ranges, a unit switch and the chairs that fit.
The same search in feet and pounds.
The catalog in the WordPress admin, sortable and searchable.
CSV import with a success notice, and a button to clear the table.

The outcome

What the client got

  • The picker runs on the client's review site, which gets tens of thousands of visitors a month.
  • Visitors see a short list of chairs made for their size instead of a size table, each with a link to its price.
  • Readers can work in centimetres and kilograms or in feet and pounds.
  • The editor replaces the whole catalog by uploading a CSV, with no developer involved.
  • The plugin removes its table when it's uninstalled and leaves nothing behind.

Need something similar built?

Send a short brief about your project. Within 24 hours you get an estimate or a clear next step, even if we don't work together.