{CODICTS} Snippets is now available

MyListing Quick Reserve Listings

The {CODICTS} MyListing Quick Reserve Listings plugin lets listing owners quickly mark their listings as “Reserved” directly from the My Listings dashboard, without changing the listing’s publish status.

A reserved listing remains fully visible and published but displays a visual “★ Reserved” badge wherever you place the plugin’s shortcode — on listing detail pages, preview cards, or any other template location. This is ideal for directory and marketplace sites where a listing owner wants to signal that an item, property, service, or slot is temporarily spoken for.

Installation & Activation

Start by downloading the plugin from the Downloads page on your dashboard on the CoDicts website.

After downloading, install and activate the plugin in WordPress by navigating to “Plugins” > “Add New” > “Upload Plugin” and selecting the downloaded zip file. Click “Install Now” and then “Activate”.

The plugin works immediately after activation — no settings page or configuration required. Reserve/Un-reserve actions automatically appear in the user listings dashboard.


Key Features

FeatureDescription
One-Click ReserveReserve or un-reserve a listing with a single click from the user dashboard.
Dashboard Action IntegrationAdds “Reserve” and “Un-reserve” action links directly into MyListing’s user listings dashboard alongside native actions (edit, delete, etc.).
Published Listings OnlyThe reserve/un-reserve actions only appear for listings with a published status.
Shortcode BadgeProvides a [codicts-reserve-badge] shortcode to display a “★ Reserved” badge anywhere.
Preview Card SupportThe shortcode works inside MyListing preview card templates using the [[:id]] dynamic tag.
Automatic Cache RefreshAutomatically refreshes MyListing’s preview card cache when reserve status changes, so badges update immediately.
Translation ReadyFully translatable with included .pot file.

How It Works

The plugin adds “Reserve” and “Un-reserve” action links to each published listing in the My Account → My Listings dashboard. When a listing is reserved, a post meta flag is set. The listing stays published and visible — nothing about the listing changes except that the [codicts-reserve-badge] shortcode now outputs a “★ Reserved” badge wherever you’ve placed it.

When un-reserved, the meta flag is removed and the badge disappears. The preview card cache is automatically refreshed both ways so changes appear immediately on explore pages and search results.


Reserving a Listing

1. Log in to your WordPress site as a listing owner.

2. Navigate to My Account → My Listings (the WooCommerce account listings dashboard).

3. Find a published listing you want to reserve.

4. In the listing’s action menu, click Reserve.

5. A success message appears: “{Listing Name} has been reserved”.

6. The action link changes from “Reserve” to “Un-reserve.”

Un-reserving a Listing

1. Navigate to My Account → My Listings.

2. Find the reserved listing.

3. In the listing’s action menu, click Un-reserve.

4. A success message appears: “{Listing Name} has been un-reserved”.

5. The action link reverts from “Un-reserve” back to “Reserve.”

Published listings only: The Reserve/Un-reserve actions only appear for listings with a publish status. Draft, pending, expired, or other status listings will not show the action.


Displaying the Reserve Badge

The plugin provides the [codicts-reserve-badge] shortcode to display a “★ Reserved” badge. The badge only appears when a listing is reserved — if the listing is not reserved, the shortcode produces no output at all.

Shortcode Usage

ContextShortcodeDescription
Listing detail page[codicts-reserve-badge]Auto-detects the current listing ID from the page context.
Specific listing[codicts-reserve-badge id="42"]Checks reserve status for a specific listing by ID.
MyListing preview card[codicts-reserve-badge id=[[:id]]]Uses MyListing’s dynamic [[:id]] tag for the current card’s listing ID.

Attribute

AttributeRequiredDefaultDescription
idNoCurrent listing IDThe post ID of the listing to check. If omitted, uses the current page’s listing ID.

Where to Place the Shortcode

You can place the shortcode in any of these locations:

Listing detail page templates — add the shortcode to your single listing template. It automatically detects the current listing’s ID.

MyListing preview cards — edit your listing type in WP Admin → Listing Types and add [codicts-reserve-badge id=[[:id]]] to the preview card template where you want the badge. The [[:id]] is MyListing’s dynamic tag that resolves to each card’s listing ID.

Widgets, page builders, or text blocks — use the id attribute to specify a particular listing.

Important: The plugin does not automatically display a badge anywhere. You must manually place the shortcode in the locations where you want the “Reserved” badge to appear.


Example Setup

1. Activate the plugin with the MyListing theme active. Reserve/Un-reserve actions immediately appear in the user dashboard.

2. To display badges on preview cards, edit your listing type in WP Admin → Listing Types.

3. In the preview card template, add the shortcode:

[codicts-reserve-badge id=[[:id]]]

4. Save the listing type.

5. As a listing owner, go to My Account → My Listings and click Reserve on a published listing.

6. Visit the explore page. The reserved listing’s preview card now displays the “★ Reserved” badge. Other listings show no badge.

7. To remove the badge, return to the dashboard and click Un-reserve.


Frequently Asked Questions

Does this require a child theme?

No. The plugin does not copy any template files and works entirely through hooks, filters, and a shortcode.

Is there a settings page?

No. The plugin works out of the box with zero configuration. The only setup is placing the [codicts-reserve-badge] shortcode where you want the badge to appear.

What happens when I reserve a listing?

The listing remains published and fully visible. A meta flag is set, and anywhere you’ve placed the [codicts-reserve-badge] shortcode, a “★ Reserved” badge appears. The preview card cache is automatically refreshed.

What happens when I un-reserve a listing?

The meta flag is removed, the “Reserved” badge disappears from all shortcode locations, and the preview card cache is refreshed.

Can I reserve draft or pending listings?

No. The Reserve/Un-reserve action links only appear for published listings. Only public listings can be marked as reserved.

Does the badge show for non-reserved listings?

No. The shortcode returns nothing for non-reserved listings. No badge, no empty space — just no output at all.

Where should I place the shortcode for preview cards?

Edit your listing type in WP Admin → Listing Types and add [codicts-reserve-badge id=[[:id]]] to the preview card template. The [[:id]] is MyListing’s dynamic tag that resolves to each card’s listing ID.

Can I customize the badge appearance?

The badge outputs a <span> with inline styles and a Material Icons star. You can target the shortcode output with CSS to customize colors, size, or positioning.

Can admins manage reserve status from the WordPress admin?

There is no admin interface for reserve management. However, the reserve status is stored as standard post meta (codicts_is_reserved), so you can view and edit it through the post editor’s custom fields section.

What happens to reserve data when I deactivate or delete the plugin?

The reserve status meta values are preserved in the database. Re-activating the plugin restores all reserve statuses. The meta is only removed when a listing itself is deleted from WordPress.

Does this work with the WooCommerce My Account page?

Yes. MyListing integrates its listings dashboard into the WooCommerce My Account page. The reserve/un-reserve actions appear alongside MyListing’s native actions (edit, delete, etc.).

Can I check reserve status programmatically?

Yes. Use standard WordPress functions:

$is_reserved = get_post_meta( $listing_id, 'codicts_is_reserved', true );
if ( $is_reserved ) {
    // Listing is reserved
}

Troubleshooting

Reserve/Un-reserve Action Not Appearing in Dashboard

CauseSolution
Listing not publishedThe actions only appear for listings with a publish status. Draft, pending, or expired listings will not show the action.
Not on the correct pageThe actions appear on the My Account → My Listings dashboard (WooCommerce My Account area). They do not appear in the WordPress admin.
Plugin not activatedGo to Plugins → Installed Plugins and verify the plugin is active.
MyListing not activeThe MyListing theme must be active. Check Appearance → Themes.

Badge Not Appearing on Reserved Listing

CauseSolution
Shortcode not placedThe plugin does not display a badge automatically. You must place the [codicts-reserve-badge] shortcode in the template or page where you want the badge to appear.
Wrong shortcode in preview cardsFor preview cards, use [codicts-reserve-badge id=[[:id]]] with the [[:id]] dynamic tag. Without it, the shortcode can’t determine which listing to check.
Listing not actually reservedVerify the listing is reserved by checking the My Listings dashboard — the action should show “Un-reserve” if it’s reserved.
Cached preview cardThe plugin refreshes the cache automatically, but if the badge still doesn’t appear, try editing and re-saving the listing to force a cache refresh.

Badge Shows on Preview Card But Doesn’t Update

CauseSolution
Stale cacheThe plugin automatically refreshes MyListing’s preview card cache when reserve status changes. If the badge still shows stale data, clear any page caching plugins (e.g., WP Super Cache, W3 Total Cache) or CDN cache.

Action Button Icons Missing

CauseSolution
Material Icons not loadedThe star icons rely on Google Material Icons, which MyListing includes by default. If you’re using a custom setup that removes Material Icons, the icons won’t display. The action links will still work — only the icons are affected.

“MyListing Theme Not Detected” Error

The MyListing theme must be installed and active. Go to Appearance → Themes to verify.


For further support, visit codicts.com or contact us at support@codicts.com.

CoDicts Co., Ltd. © 2021-2026. All rights reserved