Title: GlocalSaino Auctions Displayed by Shortcodes
Author: glocalsaino
Published: <strong>September 1, 2026</strong>
Last modified: September 2, 2026

---

Search plugins

![](https://ps.w.org/glocalsaino-auctions-displayed-by-shortcodes/assets/banner-
772x250.png?rev=3675517)

![](https://ps.w.org/glocalsaino-auctions-displayed-by-shortcodes/assets/icon-256x256.
png?rev=3675517)

# GlocalSaino Auctions Displayed by Shortcodes

 By [glocalsaino](https://profiles.wordpress.org/glocalsaino/)

[Download](https://downloads.wordpress.org/plugin/glocalsaino-auctions-displayed-by-shortcodes.1.4.0.zip)

 * [Details](https://wordpress.org/plugins/glocalsaino-auctions-displayed-by-shortcodes/#description)
 * [Reviews](https://wordpress.org/plugins/glocalsaino-auctions-displayed-by-shortcodes/#reviews)
 *  [Installation](https://wordpress.org/plugins/glocalsaino-auctions-displayed-by-shortcodes/#installation)
 * [Development](https://wordpress.org/plugins/glocalsaino-auctions-displayed-by-shortcodes/#developers)

 [Support](https://wordpress.org/support/plugin/glocalsaino-auctions-displayed-by-shortcodes/)

## Description

**GlocalSaino Auctions Displayed by Shortcodes** manages auctions through its own
admin screen and a `[glocalsaino_auction]` shortcode that can be placed on any page
or post — the description of the auctioned item does not need to live on a WooCommerce
product page, or on any special page type at all. It supports two auction types:**
direct** (the highest bid wins — for selling items) and **reverse** (the lowest 
offer wins — for sourcing services or quotes). Built on a clean MVC architecture,
it delivers a full, entirely free auction experience for both administrators and
visitors — no license key, no locked features, no usage caps.

### Features

**Auction management from the backend**

 * Dedicated **Auctions** admin screen (custom post type) with a metabox containing:
    - **Auction type** — direct (highest bid wins) or reverse (lowest offer wins);
      locked once the first bid is placed.
    - **Starting price** — minimum amount for direct auctions, maximum starting 
      amount for reverse ones.
    - **Minimum step** — smallest amount each bid must increase (direct) or decrease(
      reverse) compared to the previous one.
    - **Closing date and time** — the system automatically schedules closing events
      and notifications. Optionally leave it unset by checking **No closing date**,
      so the auction runs indefinitely until you manually give it a closing date.
    - **Start date and time** — optional; the auction displays as “Coming Soon” 
      with a live countdown until it opens.
    - **Instant-close price** — an optional **buy-it-now** price for direct auctions,
      or a **direct-award** floor price for reverse ones. Direct auctions close 
      immediately once a bid meets or exceeds this price; reverse auctions close
      immediately once an offer matches it exactly (no offer is accepted below it).
    - **Public URL** — the page where you place the shortcode, used as the link 
      in emails and as the “View Auction” button target in the gallery shortcode.
    - **Featured image** — upload a photo for the auctioned item using WordPress’s
      standard Featured Image box; shown in the gallery shortcode.
 * Each auction shows its ready-to-use shortcode (`[glocalsaino_auction id="123"]`)
   directly in the edit screen and in the admin list, along with its type.
 * **Auction categories**: an optional, hierarchical taxonomy for grouping auctions(
   e.g. “Furniture”, “Electronics”), manageable from **Auctions  Categories**. Use
   it to filter the gallery shortcode to a single category.
 * Bid list in the administration menu with columns for amount, user, auction, and
   date.

**Shortcode — visitor experience**

 * Place `[glocalsaino_auction id="123"]` anywhere in the content of any page or
   post to display the auction box:
    - Status badge (Active / Ended / Coming Soon).
    - Closing date and time in the format configured in WordPress settings.
    - Real-time countdown timer (DD:HH:MM:SS) calculated server-side to avoid clock
      drift.
    - Current bid and highest bidder; starting price if no bids have been placed.
    - Minimum increment indicator.
    - A matching instant-close button (“Buy now for X” / “Direct award at X”) when
      an instant-close price is set.
 * Bid form with server-side minimum amount validation. Bidders must be logged in.
 * When time runs out, the form hides automatically and the badge switches to “Ended”.
 * After a successful bid, the current bid updates without reloading the page.
 * History of the last 10 bids with bidder name, amount, and date/time.

**Gallery shortcode**

 * Place `[glocalsaino_auctions]` on any page to display a responsive grid of all
   published auctions, each card showing:
    - The auction’s featured image (or a neutral placeholder if none is set).
    - Its status badge (Active / Ended / Coming Soon).
    - A summary line — current bid or starting price, and the closing date (or “
      No closing date” for unlimited auctions).
    - A “View Auction” button linking to the auction’s Public URL (the button is
      omitted if that field is empty).
 * Optional attributes:
    - `category="slug"` — show only auctions in one auction category (comma-separate
      multiple slugs to match any of them).
    - `limit="6"` — cap the number of auctions shown (default: all).
 * Example: `[glocalsaino_auctions category="furniture" limit="8"]`.

**Bank transfer payment instructions**

Configure your account holder name and IBAN under **Auctions  Settings  Payment**,
and the “auction ended” email sent to the winner includes them automatically via
the `{payment_instructions}` placeholder:

 * **Direct auctions** — the winner owes you, so they see your bank details and 
   any additional instructions you add (e.g. a payment deadline or a reference to
   include).
 * **Reverse auctions** — it’s the other way round, you owe the winning bidder —
   so instead of showing your own IBAN, the email asks them to reply with their 
   account details so you can arrange the transfer.
 * Leave the account holder name or IBAN empty to skip this entirely for direct 
   auctions.
 * Every piece of wording used to present these details — the intro line, the “Account
   holder”/”IBAN”/”BIC”/”Bank” labels, and the reverse-auction request — can be 
   reworded or translated under **Auctions  Settings  Appearance  Text strings  
   Payment**, the same as any other front-end text.

**Customisable appearance**

Everything under **Auctions  Settings  Appearance**, no CSS knowledge required:

 * **Colors** — pick the auction box background, text color, accent color (current
   bid amount, links), and the bid/gallery button’s background and text color, using
   WordPress’s standard color picker.
 * **Text strings** — reword any text shown on the front end: status badges, date/
   countdown labels, bid amount labels, the bid form, buttons and loading text, 
   login/closed messages, the bid history, and the gallery — grouped into a table
   with the current default shown as each field’s placeholder. Leave a field empty
   to keep the default.

**Automated email notifications**

The plugin automatically sends the following emails:

 1. **Bid confirmed  bidder**: confirms the bid was accepted, shows the amount, closing
    date, and a link to the auction’s public page.
 2. **Outbid  previous highest bidder**: notifies the user they have been outbid and
    includes a link to bid again.
 3. **New bid  admin**: notifies the administrator of every received bid with the bidder’s
    name and a link to the auction.
 4. **Reminder  all bidders and admin**: sent automatically by WP-Cron before closing(
    lead time configurable); includes the current bid and closing date.
 5. **Auction ended  winner**: congratulation email with the winning bid amount.
 6. **Auction ended  admin**: summary with the winner’s name, email, and winning bid
    amount. If no bids were placed, the admin is still notified.

Every email’s subject and body can be customised from the Settings page, in plain
text or HTML (with a full WordPress visual editor), using placeholders for dynamic
content:

 Placeholder
 Description

 `{site_name}`
 Website name

 `{product_name}`
 Auctioned item’s name

 `{product_url}`
 Auction’s public URL

 `{bid_amount}`
 Bid amount

 `{bidder_name}`
 Bidder name

 `{winner_name}`
 Winner name

 `{winner_email}`
 Winner email address

 `{end_date}`
 Auction closing date and time

 `{payment_instructions}`
 Bank transfer details, or a request for the winner’s 
own details on reverse auctions (see Payment settings)

**WP-Cron automation**

 * When a closing date is saved on the auction, the plugin automatically schedules:
    - A reminder event before closing (lead time configurable, default 60 minutes).
    - A closing event at the exact end time.
 * If the closing date is updated, previous events are cancelled and rescheduled.

**Security**

 * Nonce verification on all AJAX requests and admin form submissions.
 * Sanitisation and validation of all input data.
 * Output escaped with `esc_html`, `wp_kses_post` and equivalent functions throughout
   all views.
 * Minimum bid calculated and validated server-side, not only on the client.
 * Prices in emails formatted with `html_entity_decode` to avoid visible HTML entities.

**Internationalisation**

 * Full i18n support; translations are loaded automatically by WordPress.
 * Source strings are in English; the `.pot` translation template is included in
   the `languages/` folder for translators and tools like Loco Translate.
 * Text domain: `glocalsaino-auctions-displayed-by-shortcodes`.

**Architecture**

Clean MVC structure with clear separation of responsibilities:

 * `controllers/` — CPT/taxonomy registration, admin metabox, shortcode rendering,
   and AJAX bid handling.
 * `models/` — business logic (bid validation, notifications).
 * `views/` — PHP frontend templates rendered by the auction and gallery shortcodes.
 * `includes/` — static helper class and settings class.
 * `assets/` — CSS stylesheet and JavaScript.
 * `languages/` — `.pot` translation template.

This plugin makes no calls to any external service. Every feature — including plugin
updates — runs entirely through WordPress core and your own site.

### Usage

### Creating an auction

 1. Go to **Auctions  Add Auction**.
 2. Choose the **auction type**: direct (highest bid wins) or reverse (lowest offer
    wins). This cannot be changed once the first bid is placed.
 3. Fill in the fields: starting price, minimum step, and closing date/time.
 4. Optionally set a **start date**, an **instant-close price**, and the **Public URL**
    to the page where you’ll place the shortcode (used in emails).
 5. Publish the auction and copy the shortcode it displays.
 6. Paste the shortcode into any page or post describing the item or service.

### Reverse auctions

Choose **reverse** as the auction type to run a “lowest offer wins” auction — useful
for sourcing services or quotes. The starting price acts as a ceiling (the first
offer must be at or below it), each subsequent offer must be strictly lower than
the current best (respecting the minimum step), and an optional direct-award floor
price closes the auction the moment it’s matched.

### Scheduled start

In the auction’s metabox, fill in the **Start date and time** field. Leave it empty
if you want the auction to begin immediately upon publishing.

### Instant close

In the auction’s metabox, fill in the **instant-close price** field (labelled “buy-
it-now” for direct auctions, “direct award” for reverse ones). Leave it empty to
disable the feature.

### Categories and images

Go to **Auctions  Categories** to create categories (e.g. “Furniture”, “Electronics”),
then assign one or more to each auction from the Categories box on its edit screen—
just like WordPress’s built-in post categories. Upload a photo for the auctioned
item using the **Featured Image** box on the same edit screen; it’s used by the 
gallery shortcode.

### Gallery shortcode

Place `[glocalsaino_auctions]` on any page to list every published auction as a 
card grid — image, status, a bid/price summary, and a button to the auction’s page.
Add `category="slug"` to show only one category (or several, comma-separated), and`
limit="6"` to cap how many are shown.

### Payment

Go to **Auctions  Settings  Payment** and enter your account holder name and IBAN(
BIC/SWIFT, bank name, and additional instructions are optional). This is only used
for direct auctions, where the winner owes you — it’s included automatically in 
the “auction ended  winner” email via the `{payment_instructions}` placeholder. 
For reverse auctions, that same email instead asks the winning bidder to reply with
their own bank details, since you’re the one who owes them.

### Appearance

Go to **Auctions  Settings  Appearance** to restyle the plugin without editing any
files:

 * Use the **color pickers** to set the auction box background, text color, accent
   color, and button colors.
 * Use the **text strings** table to reword anything shown on the front end — each
   field’s placeholder shows the current default; leave it empty to keep that default.

### General settings

Go to **Auctions  Settings** to:

 * Set the currency symbol and its position.
 * Set the reminder email lead time in minutes.
 * Switch between plain text and HTML email format.
 * Customise the subject and body of each email template.
 * Add custom CSS (Appearance tab).

### Viewing received bids

Go to **Auctions  Auction Bids** to see all registered bids with amount, user, auction,
and date information.

### Licence

This plugin is distributed under the GPLv2 or later licence.
 More information: 
https://www.gnu.org/licenses/gpl-2.0.html

## Screenshots

[⌊Page with an embedded auction shortcode: status badge, countdown, current bid,
and bid form.⌉⌊Page with an embedded auction shortcode: status badge, countdown,
current bid, and bid form.⌉[

Page with an embedded auction shortcode: status badge, countdown, current bid, and
bid form.

[⌊Auction shortcode showing a "Coming Soon" state with the start countdown.⌉⌊Auction
shortcode showing a "Coming Soon" state with the start countdown.⌉[

Auction shortcode showing a “Coming Soon” state with the start countdown.

[⌊Auction shortcode with the buy-it-now button alongside the standard bid form.⌉⌊
Auction shortcode with the buy-it-now button alongside the standard bid form.⌉[

Auction shortcode with the buy-it-now button alongside the standard bid form.

[⌊Auction shortcode on an ended auction: closed status and final bid history.⌉⌊Auction
shortcode on an ended auction: closed status and final bid history.⌉[

Auction shortcode on an ended auction: closed status and final bid history.

[⌊Auctions admin screen — auction metabox with the ready-to-copy shortcode.⌉⌊Auctions
admin screen — auction metabox with the ready-to-copy shortcode.⌉[

Auctions admin screen — auction metabox with the ready-to-copy shortcode.

[⌊Auctions admin screen — start date and buy-it-now price fields.⌉⌊Auctions admin
screen — start date and buy-it-now price fields.⌉[

Auctions admin screen — start date and buy-it-now price fields.

[⌊Settings page — General tab with currency and reminder timing.⌉⌊Settings page —
General tab with currency and reminder timing.⌉[

Settings page — General tab with currency and reminder timing.

[⌊Settings page — Emails tab with HTML visual editor active.⌉⌊Settings page — Emails
tab with HTML visual editor active.⌉[

Settings page — Emails tab with HTML visual editor active.

[⌊Bid list in the WordPress administration panel.⌉⌊Bid list in the WordPress administration
panel.⌉[

Bid list in the WordPress administration panel.

[⌊Gallery shortcode showing several auctions as a card grid.⌉⌊Gallery shortcode 
showing several auctions as a card grid.⌉[

Gallery shortcode showing several auctions as a card grid.

[⌊Settings page — Appearance tab with the color pickers.⌉⌊Settings page — Appearance
tab with the color pickers.⌉[

Settings page — Appearance tab with the color pickers.

[⌊Settings page — Appearance tab with the text strings table.⌉⌊Settings page — Appearance
tab with the text strings table.⌉[

Settings page — Appearance tab with the text strings table.

[⌊Settings page — Payment tab: account holder name, IBAN, BIC/SWIFT, bank name, 
and additional instructions for the bank transfer payment channel.⌉⌊Settings page—
Payment tab: account holder name, IBAN, BIC/SWIFT, bank name, and additional instructions
for the bank transfer payment channel.⌉[

Settings page — Payment tab: account holder name, IBAN, BIC/SWIFT, bank name, and
additional instructions for the bank transfer payment channel.

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/` in your WordPress installation.
 2. Activate the plugin from the **Plugins** menu in the WordPress dashboard. No other
    plugin is required.
 3. Go to **Auctions  Add Auction**, choose the auction type (direct or reverse), set
    the starting price, minimum step, and closing date, then publish.
 4. Copy the shortcode shown on the edit screen (e.g. `[glocalsaino_auction id="123"]`).
 5. Paste it into the page or post where you describe the auctioned item. The countdown
    timer and bid form will appear there automatically.
 6. Optionally, place `[glocalsaino_auctions]` on another page to show a gallery linking
    to all of your auctions.

## FAQ

### Do I need WooCommerce?

No. The plugin is fully independent and does not require WooCommerce or any other
e-commerce plugin.

### Can I change the email text?

Yes. Go to **Auctions  Settings  Emails** and edit the subject and body of each 
email type. Use the available placeholders to insert dynamic data.

### Can users bid without an account?

Not currently — bidders must be logged in to place a bid.

### What happens when the auction ends?

WP-Cron executes the closing event automatically: it sends a congratulation email
to the winner and a summary to the administrator. If no bids were placed, the administrator
is notified anyway. The bid form disappears wherever the shortcode is displayed.

### What’s the difference between a direct and a reverse auction?

In a direct auction the highest bid wins, like a classic auction for selling an 
item. In a reverse auction the lowest offer wins — useful when you want service 
providers or suppliers to compete on price for a job you need done.

### What is the instant-close feature?

When an instant-close price is set, a direct auction closes the moment a bid meets
or exceeds it (“buy it now”); a reverse auction closes the moment an offer matches
it exactly (“direct award”), and no offer below it is accepted. Either way the auction
closes on the spot, all closing emails are sent, and the countdown disappears.

### What happens if I update the closing date after saving?

The plugin automatically cancels the previous WP-Cron events and schedules new ones
with the updated date.

### Can an auction run without a closing date?

Yes. Check **No closing date** in the auction’s metabox and leave the closing date
field empty — the auction stays active indefinitely (no automatic “ended” state,
no reminder or closing emails) until you uncheck the box and set a real closing 
date.

### Is the countdown timer reliable?

The remaining time is calculated server-side when the page loads and the JavaScript
counts down from that value. This avoids drift caused by differences between the
server clock and the user’s browser.

### Is it compatible with Loco Translate?

Yes. The plugin includes a `.pot` translation template in the `languages/` folder.
Open the plugin in Loco Translate, select or create a language, and save — Loco 
Translate will compile the `.mo` file automatically.

### How do I show a gallery of all my auctions?

Place `[glocalsaino_auctions]` on any page. Add `category="slug"` to only show one
auction category, or `limit="6"` to cap how many are shown.

### The gallery’s “View Auction” button doesn’t appear on one of my auctions — why?

That button links to the auction’s **Public URL** field. It’s hidden when that field
is empty, since there’s nowhere for it to link to — fill it in on the auction’s 
edit screen.

### Does the plugin process card payments (Stripe, PayPal, etc.)?

No. It supports bank transfer only: configure your IBAN under **Auctions  Settings
Payment** and it’s included automatically in the winner’s “auction ended” email 
for direct auctions. The plugin never touches card data or payment processing.

### Why does the winner’s email ask for bank details instead of showing mine, for a reverse auction?

Because the money flows the other way in a reverse auction — the winning bidder 
is the one who gets paid, not the one who pays. The plugin doesn’t have that bidder’s
bank details on file, so it asks them to reply with their account information instead
of showing yours.

### Can I restyle the auction box or gallery to match my theme?

Yes, without editing any plugin files or writing CSS: go to **Auctions  Settings
Appearance** and use the color pickers to set the box background, text, accent, 
and button colors.

### Can I change the wording shown on the front end (button text, messages, etc.)?

Yes. **Auctions  Settings  Appearance** has a Text strings section listing every
front-end string, grouped by where it appears. Each field shows the current default
as its placeholder — type your own wording to override it, or leave it empty to 
keep the default.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“GlocalSaino Auctions Displayed by Shortcodes” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ glocalsaino ](https://profiles.wordpress.org/glocalsaino/)
 *   [ rafammoo ](https://profiles.wordpress.org/rafammoo/)

[Translate “GlocalSaino Auctions Displayed by Shortcodes” into your language.](https://translate.wordpress.org/projects/wp-plugins/glocalsaino-auctions-displayed-by-shortcodes)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/glocalsaino-auctions-displayed-by-shortcodes/),
check out the [SVN repository](https://plugins.svn.wordpress.org/glocalsaino-auctions-displayed-by-shortcodes/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/glocalsaino-auctions-displayed-by-shortcodes/)
by [RSS](https://plugins.trac.wordpress.org/log/glocalsaino-auctions-displayed-by-shortcodes/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.4.0

 * Added extension points (actions/filters on bid submission, the auction metabox,
   the bid form, gallery cards, and the settings page) so an optional add-on can
   offer guest bidding and security deposits without forking this plugin’s code.
   No behavior changes with no add-on active.
 * New “Extensions” screen (Auctions menu) listing available add-ons — a static 
   page with no external calls, since this plugin doesn’t bundle any third-party
   SDK.
 * Settings  General now shows both shortcodes (single auction and gallery), with
   their optional attributes and an example — previously only documented in the 
   readme.

#### 1.3.0

 * Removed the Freemius SDK entirely: the plugin no longer contacts any external
   service for any reason, including update checks — those are now handled solely
   by WordPress.org.
 * Removed the free-form Custom CSS field from Appearance settings. Restyling is
   still available through the color pickers (auction box background, text, accent,
   and button colors).

#### 1.2.0

 * New **Payment** settings tab: configure your account holder name and IBAN for
   bank transfer payment instructions, included automatically in the winner’s “auction
   ended” email for direct auctions (via a new `{payment_instructions}` placeholder).
   For reverse auctions, that same email asks the winning bidder for their own bank
   details instead, since it’s the site that owes them.
 * All of that wording (not just the emails it’s inserted into) can be reworded 
   or translated under Appearance  Text strings  Payment.

#### 1.1.1

 * Fixed: the closing date/time shown in emails ({end_date}), the auction box (“
   Starts:”/”Closes:”), the admin auctions list, and the gallery cards could be 
   off by your site’s UTC offset (e.g. 1–2 hours) from the real closing time, due
   to a WordPress date-formatting function being used in a way that doesn’t suit
   a real UTC timestamp. Bid history timestamps were not affected.

#### 1.1.0

 * Appearance tab: added five color pickers (auction box background, text, accent,
   button background, button text) — no CSS knowledge needed to restyle the plugin.
 * Appearance tab: every front-end text string is now editable (status badges, dates,
   bid form, buttons, messages, bid history, gallery) — leave a field empty to keep
   the built-in text.
 * Custom CSS is still there for anything the color pickers don’t cover.

#### 1.0.0

 * Initial release.

## Meta

 *  Version **1.4.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.2 or higher **
 *  [Advanced View](https://wordpress.org/plugins/glocalsaino-auctions-displayed-by-shortcodes/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/glocalsaino-auctions-displayed-by-shortcodes/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/glocalsaino-auctions-displayed-by-shortcodes/reviews/)

## Contributors

 *   [ glocalsaino ](https://profiles.wordpress.org/glocalsaino/)
 *   [ rafammoo ](https://profiles.wordpress.org/rafammoo/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/glocalsaino-auctions-displayed-by-shortcodes/)