WH4U Domains Plugin — Complete Guide

Recently Updated

WH4U Domains — Complete Guide

What is WH4U Domains?

WH4U Domains is a WordPress plugin built for web agencies, hosting resellers, and anyone who wants to offer domain services directly from their own site. Instead of sending customers away to a registrar or a separate billing panel, you get a domain search form right on your pages. A visitor types a name, sees whether it's available, and can start a registration or transfer without leaving your brand.

The plugin connects to the DomainsReseller API by WebHosting4U. Your API credentials link it to your reseller account, so availability, pricing, and orders all flow through your own setup. Everything else—who approves orders, where customers pay, how the form looks—is yours to decide.


Requirements

Before installing, confirm you have:

  • WordPress 6.2 or newer
  • PHP 7.4 or newer
  • An active DomainsReseller account at WebHosting4U (you need your email and API key)
  • Your server must be able to reach the DomainsReseller API over the internet

Installation

  1. Upload the wh4u-domains folder to /wp-content/plugins/. Keep the folder name exactly as shipped — WordPress needs it.
  2. Go to Plugins in your WordPress admin and click Activate under WH4U Domains.
  3. A new Domains menu appears in the sidebar. Start there.

The Admin Menu

Once activated, the plugin adds a Domains top-level menu with these sections:

Menu itemWhat it's for
DashboardAPI connection status, your reseller email, quick domain search
SearchCheck availability for any domain right from the admin
RegisterSubmit a new domain registration order as an admin
TransferSubmit a domain transfer order as an admin
PricingBrowse TLD pricing pulled from the API (cached for ~12 h)
HistoryFull log of all past orders
QueueMonitor and retry failed API calls
Public OrdersReview, approve, or reject orders submitted by visitors
SettingsAll configuration: API, cart redirect, Turnstile, appearance

Settings — three tabs

Credentials tab

This is where every user (reseller) enters their own email and API key from their DomainsReseller account, plus their default nameservers. Credentials are stored encrypted per user, so a multi-reseller setup is safe — each reseller only sees and uses their own keys.

General tab (admin only)

Three sections live here:

API Configuration

  • API Base URL — the DomainsReseller API endpoint (pre-filled with the correct default; only change if instructed).
  • Registration Mode — choose between:
    • Real-time: the API call fires immediately when an order is submitted.
    • Notification-only: the order is stored and you process it manually later using the "Process Now" button.

Shopping Cart Redirect If you handle payment in WHMCS, Blesta, ClientExec, Upmind, or your own checkout, use this section. When a visitor clicks Register or Transfer, instead of showing the built-in form they are sent directly to your cart with the domain already in the URL. Set the Cart Type to your billing system, enter your Cart Base URL, and the plugin builds the redirect automatically. For custom systems, enter your own URL template using the placeholders {domain}, {sld}, and {tld}.

Cloudflare Turnstile (optional) Paste your Site Key and Secret Key from the Cloudflare dashboard to add bot protection to the public registration and transfer forms. Leave both fields empty and Turnstile is completely disabled — the forms work either way.

Appearance tab (admin only)

A visual editor with a live preview so you can see changes before saving. Options include:

  • CSS Mode and Style Variant (elevated card style vs. minimal)
  • Accent, text, background, and border colours — with a colour picker
  • Available/unavailable status colours
  • Font family, custom font, font size, button weight
  • Max width, border radius, spacing
  • Custom placeholder text and button label
  • Search bar title and description
  • Popular TLD chips shown below the search bar (e.g. .com, .net, .gr)
  • Whether to show pricing on result cards
  • Whether to show domain suggestions
  • Whether to show the Transfer option
  • Registration form fields (which contact fields to show; some are always required by the API)
  • Registration period options (e.g. 1, 2, 3, 5, 10 years)
  • Custom success title, message, and "search another" button text

The plugin also automatically detects your active theme's colors, fonts, spacing, and border radius from theme.json and shows you a compatibility banner so you can decide whether to inherit theme tokens or override them.


Placing the search form on a page

You have two methods — pick whichever suits your editing workflow:

  • Shortcode: Add [wh4u_domain_lookup] to any page, post, or widget area that supports shortcodes.
  • Gutenberg block: In the block editor, search for Domain Lookup and insert it.

Both produce the same front-end experience.


What visitors see

The search form features:

  • An animated placeholder that cycles through example domain names
  • A row of popular TLD chips under the search bar for quick one-click searches
  • Skeleton shimmer loading cards while results load (no blank screen)
  • A highlighted "Best match" card for the primary result
  • Pricing on each card (when enabled)
  • Animated SVG checkmark / X icons
  • A copy-to-clipboard button on every result
  • Full dark mode support via the browser's prefers-color-scheme setting

How public orders work

When a visitor submits a registration or transfer through the front-end form, the request lands in Domains → Public Orders with a pending status. You review it there and either Approve (which triggers the API call) or Reject it. The visitor does not need a WordPress account to submit a request.

If an API call fails due to a temporary issue (timeout, server error), the order goes into the retry queue and WP-Cron retries it automatically with exponential backoff — so temporary outages don't lose orders.


Languages

The plugin is fully translatable. A Greek translation ships out of the box. To add or override any language, place .po / .mo files in the languages/ folder inside the plugin directory.


Frequently asked questions

Do I need a DomainsReseller account?
Yes. Without valid API credentials the search cannot function.

Can visitors order without a WordPress account?
Yes. The forms are fully public — no login needed. Orders land as pending for admin review.

What if the API goes down briefly?
Orders are queued and retried automatically. Check Domains → Queue to see the status and manually trigger a retry if you don't want to wait.

Can I use this with WHMCS or Blesta?
Yes. Enable Shopping Cart Redirect, choose your billing system, and enter your cart URL. Visitors are sent straight to your checkout with the domain pre-filled.

Is the form customisable without coding?
Yes. Everything visual is controlled from the Appearance tab, including a live preview.