Understanding "Expired" and "Closed" Listings
GeoDirectory adds two custom post statuses for all CPTs -- Expired and Closed. Each of these statuses is different from the other. This article will explain the basic differences between the two.
Expired Listings
Simply put, an "expired" listing is one which is time-sensitive in nature. After a particular date, it will "expire" and no longer be available for active usage.
Expired listings are ideal if you wish to add listings under a paid package using the Pricing Manager extension. You can set listings to expire when their package expires.
That said, even after a given listing "expires", it is not deleted by GeoDirectory. Instead, it remains published, but users can see that it has expired. Administrators can delete the listing from the backend.
Expired listings do not show up in the GD loop or archives. However, the Listing Details (single listing view) page can still be viewed for expired listings, unless it is disabled or deleted by an administrator.
Closed Listings
Closed Listings are also similar to Expired ones, as these do not show up in the GD loop or archive pages either.
However, a "closed" listing is one that might have shut shop or closed down -- such listings are generally not time-sensitive as these are not set to expire on a given date.
Why doesn't GeoDirectory simply delete Expired or Closed Listings?
The GD loop and archives only show listings with post status set to "Published". This naturally excludes Drafts, Pending, Expired and Closed listings. As such, why not simply delete expired or closed listings?
There are two reasons why we do not delete expired/closed listings.
First, SEO. Search engines may have indexed Listing Details pages for such listings, and 404 errors (after deletion of such pages) may adversely affect the overall SEO health.
Secondly, certain site owners might want to renew listings as and when they expire. As such, deleting expired listings is not recommended.
Admins can, obviously, delete or trash any listing irrespective of its status from the WP backend.