Posterno – Listings Directory & Classifieds


Posterno is a powerful, extendable directory plugin that helps you create any kind of listings directory. Built to integrate seamlessly with WordPress, Posterno is designed to be easy to use, yet powerful enough to meet all your business needs as your online community grows.

With endless flexibility, Posterno allows you to create, manage and monetize a directory site for any purpose and showcase listings such as Cars, Hotels, Properties, Restaurants, Events, Travel Tours, etc. Your imagination is the only limit.

Website | All features | Documentation | Roadmap | Twitter | Facebook

Fully featured

Listings can have all the features you could ever wish – descriptions, photos, maps, video, categories, keywords, business hours and more. Explore the powerful features that enable you to build the top-notch directory that you want.

Unlimited custom fields

Posterno provides you the flexibility to set an unlimited amount of custom fields for your listings, profiles and registration form. Your site can easily accommodate all the areas you’d like to advertise.

Built to rank

Built with SEO in mind to outperform your competitors in search engines thanks to the integration of JSON-LD for structured data (rich snippets). Rest assured your site will rank well in the SERPs with eye catching results.

Membership functionalities

Members can register on your site to create user profiles. A user dashboard is provided to each registered user and listing owner. Your members will never have to see the WordPress admin panel in order to, login, register, change password and customize their profile.

Email notifications

Posterno provides customizable email templates for each email that can be sent to users after a certain event/trigger happens. You also have access to merge tags for emails, they render bits of information about the website, the user or the listing.

Read more about our features on


Free Extensions

  • Google reCAPTCHA: Add Google’s invisible reCAPTCHA to your website and protect your site from spam registrations and logins. This addon lets you choose which forms you wish to protect, you can decide to display the recaptcha field into the registration form, login forms and password recovery form, all with just a few clicks.

Built with developers in mind

Developers have access to a large collection of actions and filters ready to be used to customize and extend Posterno. The integrated templating system that allows developers to easily customize all the templates of the plugin.


Free support is provided only through the support forum. Join the support forum to ask questions and get help regarding Posterno. Free support is provided exclusively for bugs and help using the plugin. Please read the support policy

Support for premium addons is provided exclusively through the premium support platform.

Before opening a support topic please read the faqs and documentation.


  • Frontend members dashboard
  • Frontend listing submission form only some fields are displayed in the screenshot.
  • Frontend listing submission form only some fields are displayed in the screenshot.
  • Frontend members public profiles
  • Frontend registration form
  • Frontend login form
  • Frontend password recovery form


Minimum Requirements

  • PHP version 5.5 or greater (PHP 7.2 or greater is recommended)
  • MySQL version 5.0 or greater (MySQL 5.6 or greater is recommended)

Visit the Posterno server requirements documentation for a detailed list of server requirements.

Automatic installation

Visit the Posterno automatic installation documentation for detailed instructions.

Manual installation

The manual installation method involves downloading Posterno and uploading it to your webserver via your favourite FTP application. The WordPress codex contains instructions on how to do this here.


Automatic updates should work like a charm; as always though, ensure you backup your site just in case.


Where can I find the documentation and user guides?

For help setting up and configuring Posterno please refer to our documentation

Where can I get support?

Free support is provided only through the support forum.

Support for premium addons is provided exclusively through the premium support platform.

Will Posterno work with my theme?

Posterno has been designed and coded to seamlessly integrate with any properly coded WordPress theme. Furthermore Posterno uses bootstrap 4 for styling all of the elements. However, each theme is coded differently and the quality of the code can vary. To avoid potential issues and conflicts, Posterno provides the ability to disable the built-in styling through the options panel. If your theme is properly coded, Posterno should adapt itself to your site layout. Although we cannot guarantee that the plugin works with all themes.

Where can I request new features, themes and extensions?

Get in touch with us via email at or open a topic into the support forum.

Is Posterno GDPR compliant?

Please refer to the official documentation for gdpr compliance.

Please note that using Posterno does NOT guarantee compliance to GDPR. Posterno gives you general information and tools, but is NOT meant to serve as complete compliance package. As the owner of your website, it is your responsibility to ensure that your site is compliant with the regulations. Please always contact an attorney for accurate information, we are not responsible for your website GDPR compliance and we can’t be held accountable for any legal issues.


Read all 1 review

Contributors & Developers

“Posterno – Listings Directory & Classifieds” is open source software. The following people have contributed to this plugin.



1.0.5 16th July 2019

  • Added: support for 24H format for business hours.
  • Added: listings CSV exporter can now export all custom metadata added by third party plugins too.
  • Added: listings CSV importer can now import custom metadata values.
  • Tweak: disable tags and categories association option on plugin first installation.
  • Tweak: display a site health notice when license is missing from a paid addon.
  • Tweak: Bootstrap css now prefixed to improve compatibility with third party themes.
  • Tweak: properly apply bootstrap styling to file input field.
  • Tweak: improved security of csv importers.
  • Fix: php notice when role selection enabled on registration form but no role was selected by an admin.
  • Fix: minor layout issue with settings in listing post type publish box.
  • Fix: make sure tags exist before loading them into the field.
  • Fix: opening hours slot type not saving properly.
  • Fix: redirect to dashboard home when deleting last listing available within a user’s account.

1.0.4 11th July 2019

  • Added: compatibility with the new WC Paid Listings addon that will be released in a few weeks.
  • Added: new hook before redirect within the listing submission form.
  • Added: new utility function for developers to mark listings as featured.
  • Tweak: change priority of listing details submission step.
  • Tweak: compress array when using compressor datastore.
  • Tweak: send form object through submission steps hooks.
  • Tweak: send next step in submission form steps hooks.
  • Tweak: allow filtering of listing status during submission.
  • Tweak: prevent carbon fields from loading sidebars and extra db query.
  • Tweak: calculate expiry date helper function now supports custom duration.
  • Tweak: allow sorting by priority number of the dashboard menu when using the placeholder menu.
  • Tweak: developers can now filter the placeholder dashboard menu.
  • Tweak: added further permissions verifications when editing a listing.
  • Fix: Missing namespaced WP_Error class when running the diagnostic tests.
  • Fix: invalid arguments warning when no opening hours have been set.
  • Fix: flatten array when loading listing regions ancestors.

1.0.3 24th June 2019

  • Fix: array formatting issue when setting tags via listing submission and edit form.
  • Fix: gallery images field not working if listing updated from admin panel.
  • Fix: custom fields not loading in listings details widget.

1.0.2 22nd June 2019

  • Fix: edge case when some forms would not properly submit.

1.0.1 21st June 2019

  • Fix: fatal error when trying to load libraries on a server that uses case-sensitive file system.

1.0.0 First official release

Beta phase is finished. This is the first officially stable release.

New documentation is available for the new features.

  • Added: new section in tools page with all data importers available.
  • Added: new section in tools page with all data exporters available.
  • Added: Listings CSV export tool.
  • Added: Listings schemas CSV export tool.
  • Added: Listings custom fields CSV export tool.
  • Added: Profiles custom fields CSV export tool.
  • Added: Registration fields CSV export tool.
  • Added: Emails CSV export tool.
  • Added: Taxonomy terms CSV export tool.
  • Added: Listings CSV import tool.
  • Added: Listings schemas CSV import tool.
  • Added: Listings custom fields CSV import tool.
  • Added: Profiles custom fields CSV import tool.
  • Added: Registration fields CSV import tool.
  • Added: Emails CSV import tool.
  • Added: Taxonomy terms CSV import tool.
  • Added: links to import/export tools in each taxonomy and supported post type pages in the admin panel.
  • Tweak: changed icon of listings post type menu.
  • Tweak: moved listings custom fields to new tab in main metabox, in preparation for future conditional logic feature.
  • Tweak: upgraded js dependencies on some components.
  • Tweak: added some new helper functions for developers.
  • Tweak: majority of all carbon fields powered metaboxes now have a proper custom ID.
  • Tweak: switched text input for file fields to proper file picker from media library.
  • Tweak: cache listing types retrieval function.
  • Fix: files not loading properly for custom file fields.

0.9.2 Open beta release

  • Tweak: load gallery images from the new storage method.
  • Tweak: Set a default of max 2 uploadable images for the listings gallery field on install.
  • Tweak: validated amount of submitted images for the gallery field during form submission instead of validation.
  • Tweak: gallery field has been changed to a repeatable field.
  • Tweak: custom fields that support multiple uploads, have been changed to a repeatable field.
  • Tweak: changed storage process of files uploaded through forms.
  • Tweak: reworked storage and cancellation of files assigned to listings.
  • Tweak: persist files uploaded when a validation error stops the form from processing.
  • Tweak: Added alt attribute content to listing gallery.
  • Fix: wrongly formatted terms array for listing regions field.
  • Fix: skip the “required” attribute for file fields.
  • Fix: load a value attribute for file fields.
  • Fix: removed “amount” validators support from file fields.
  • Fix: form would still process submissions even when a validation error would occur in some cases.
  • Fix: newly uploaded files would not be merged with existing files.
  • Fix: file fields wrongly marked as “required” even when files are already attached and no changes were applied to the field.
  • Fix: unable to make changes to default fields due to wrong validation errors triggering when not required.
  • Fix: some strings had no textdomain.

0.9.1 Open beta release

  • Tweak: make sure pages are published before loading rewrite rules.
  • Fix: shortcodes loading sequence causing conflicts with plugins on plugin activation.
  • Fix: uninstall process could not complete.
  • Fix: unable to submit forms.

0.9.0 Open beta release

  • Added: support for the new free Posterno reCAPTCHA addon.
  • Added: automatic updates for future premium addons.
  • Added: extensions list in listings menu.
  • Added: new “licenses” tab to the tools page for premium extensions.
  • Added: buttons for import/export of settings within the options panel.
  • Fixed: settings link in plugin’s page pointing to wrong url.

0.8.2 Open beta release

  • Added: introduced new way to prevent wrong configuration of custom fields.
  • Added: new hooks to the login form.
  • Added: new hooks to the password recovery form.
  • Added: new hooks to the registration form.
  • Fixed: pagination on listings page shortcode not working.
  • Fixed: loading sequence of some files.
  • Fixed: class namespace mismatch for entities when deleting an entity.
  • Tweak: changed activation of options panel hooks so that it’s extensible by addons.
  • Tweak: changed submission buttons name for all forms.
  • Tweak: removed old carbon fields javascript validation scripts.
  • Tweak: hide required setting for the username, password and email registration form fields.

0.8.1 Open beta release

  • Fixed: folder missing from plugin.
  • Tweak: modified files loading sequence.

0.8.0 Open beta release

  • Added: custom health tests for WordPress 5.2+
  • Added: outdated template files verification checks.
  • Added: new Posterno debug data to site health’s debug info.
  • Added: new admin tools page for Posterno.
  • Added: tool to manually clear all field’s cache.
  • Added: ability to import/export Posterno’s settings.
  • Added: ability to restore all custom form fields back to default.
  • Added: background batch processing library.
  • Tweak: entities api, force cancellation of entities when parameter is set.
  • Tweak: adjusted plugin hooks firing sequence to resolve issues with third party plugins like Rank Math.
  • Tweak: updated carbon fields library to latest version.
  • Tweak: added custom styling to elements brought in by the carbon fields library.
  • Tweak: removed old code and obsolete files.
  • Tweak: sanitize all values submitted through carbon fields api before storing them into the database.
  • Fix: skip validation of terms submitted through a form when form’s vue input is an empty array.
  • Fix: an issue with the term chain dropdown field not properly loading arrays as values.

0.7.1 Open beta release

  • Tweak: display role field only when more than 1 role is enabled.
  • Tweak: make sure before submittig a form that inputs of multi options fields exist within the allowed values of the field.
  • Fix: listing regions validation would not work in some cases.
  • Fix: changed priority order of submit button in forms.
  • Fix: multi options fields in registration form not loading options.
  • Fix: styling of some fields within the registration form.
  • Fix: make sure terms and privacy checkbox are always at the bottom of the form.
  • Fix: undefined index when value is empty for a taxonomy field and loading the listing edit form.
  • Fix: checkbox field did not display the “optional” label when not required.
  • Fix: missing textdomains for some strings.

0.7.0 Open beta release

  • Added: new developers api to validate strings and values.
  • Added: entirely new forms api which helps for the introduction of ajax forms in the future.
  • Added: inline forms validation errors.
  • Added: new developers dom elements helper library.
  • Added: honeypot spam prevention to all forms.
  • Added: new developers hooks and filters to all forms and form fields.
  • Added: featured images of categories and types now display within their terms pages.
  • Added: new “Css classes” setting for all fields to customize the classes assigned to a field’s wrapper element.
  • Added: display count of published, pending & expired listings within the member’s frontend dashboard page.
  • Tweaked: rest api for fields creation & modification has been rewritten & improved and now does less queries.
  • Tweaked: api for retrieving information about custom fields has been rewritten and now does less queries.
  • Tweaked: removed obsolete code.
  • Tweaked: new dom attributes api for form elements.
  • Tweaked: updated javascript dependencies for the schema editor.
  • Tweaked: when uploading files through a form, validate files before uploading.
  • Tweaked: improved security validation of certain fields.
  • Tweaked: removed “profile cover” field.
  • Tweaked: removed old form fields template files.
  • Tweaked: reduced number of database queries when retrieving form fields.
  • Tweaked: removed some code redundancy from fields queries.
  • Fixed: “Manage listings” menu item ( from placeholder menu ) visible even when a user has not submitted listings.
  • Fixed: Featured image not uploading when a form had already been submitted and a validation error occured.
  • Fixed: taxonomies not loading within term fields.
  • Fixed: display of values coming from fields with multiple options on profile and listings pages.
  • Fixed: placeholder setting not displaying on some fields.
  • Fixed: an issue when removing featured images from an existing listing.
  • Fixed: php error in some cases when retireving listings schemas.

0.6.0 Open beta release

  • Added: support for icons and images for listings tags. Not displayed by default.
  • Tweak: disabled automatic dashboard and profile menu installation on plugin activation.
  • Tweak: added placeholder dashboard page menu when no custom menu is created or selected.
  • Tweak: added placeholder profile page menu when no custom menu is created or selected.

0.5.1 Open beta release

  • Added: option to disable map bounds centering.
  • Added: ability to hide recent listings shortcode map.
  • Added: disable maps widget and single listing map when maps killswitch enabled.
  • Added: disable all maps when maps killswitch enabled.

0.5.0 Open beta release

  • Added: setting to control zoom level of single listing page map.
  • Added: support for google maps on all taxonomy pages.
  • Added: new pno_listings_page shortcode to display recent listings with filters, pagination and map.
  • Added: option to individually toggle (enable/disable) maps on taxonomy pages.
  • Added: ability to choose style of maps markers (default, category icon, featured image, custom field).
  • Added: featured image map marker, supports display of any custom “file” listing field.
  • Added: custom field map marker, supports display of data from any text, radio, dropdown field.
  • Added: all map markers are customizable via template files.
  • Added: map markers infowindow content is customizable via template files.
  • Added: geolocation button onto maps for taxonomy pages and listings page shortcode map.

The following documentation articles have been updated/created:

Listings page shortcode
How to display or disable maps
Map markers customization
Setting up zoom levels
Add icons to categories

0.4.0 Open beta release

  • Added: listings custom fields are available as dynamic variables for Yoast SEO meta tags.
  • Added: Jetpack sitemap compatibility.
  • Added: new email situation “Listing expired” triggered when a listing expires.
  • Added: ability to manually notify listing’s author when a listing is expired.
  • Added: featured image and icon to listings categories, types and locations.
  • Added: listing types in submission form now display an icon when selected.
  • Added: listing types and categories list shortcodes now display an icon when selected.
  • Added: listing locations list shortcode now displays a featured image when selected.
  • Tweak: customized labels of taxonomy terms update messages and edit window “back” link.
  • Fix: multiselect fields not displaying stored values correctly.
  • Fix: dropdown/radio/checkboxes not storing data in proper way.
  • Fix: could not register dropdown field within the editor.

The following documentation articles have been updated/created:

Yoast template variables
Listing expired email

0.3.1 Open beta release

  • Tweak: uninstall schemas when deleting plugin.
  • Tweak: When wp-login.php is locked, all privacy requests functionalities are now confirmed and handled on the fronted dashboard.
  • Tweak: improved storage of the file field by pushing all attached files into a single meta value.
  • Tweak: geocoding now triggers on frontend submission form too.
  • Tweak: geocoding now triggers on frontend editing form too.
  • Fix: listing file field displaying numeric value instead of file name/url.
  • Fix: escaping of listings post statuses in classic editor window.
  • Fix: trigger schema geocoding only when api keys are available.
  • Fix: listing expiry date stored in wrong format when submitting listing on the frontend.

0.3.0 Open beta release

  • Added: structured data (schema) integration editor for listings.
  • Added: automatically geocode listing’s address when coordinates change.
  • Added: (dev) Get the user’s last name only, by id.
  • Tweak: (dev) added new helper functions.
  • Fix: (dev) pno_get_listing_author() function returning wrong value.
  • Fix: deleted code no longer needed.
  • Fix: detect editing permissions before loading the fields of the editing form.
  • Fix: listing status set to published instead of publish.

The following documentation articles have been updated/created:

Schema integration
Geocoding documentation

0.2.0 Open beta release

  • Added: honeypot antispam protection to login form.
  • Added: listing status in dashboard is now highlighted.
  • Added: button to mark listings as expired in the admin panel.
  • Added: Ability to replace the comment author’s URL with Posterno’s public profile url.
  • Added: count of pending listings is now displayed within the admin dashboard menu.
  • Added: ability to limit the maximum amount of selectable tags during submission.
  • Added: control whether expired listings are still visible and crawable by search engines.
  • Added: when expired listings are public a notice will now be displayed informing the user that the listing is expired.
  • Added: ability to hide the sidebar on the listing page when expired listings are public.
  • Tweak: if tags association is disabled, the setting field is hidden from the taxonomy panel.
  • Tweak: if categories association is disabled, the setting field is hidden from the taxonomy panel.
  • Tweak: removed obsolete code from frontend javascript file.
  • Tweak: display a warning message when a user attempts to edit an expired listing.
  • Tweak: check permissions to edit a listing before even loading the form.
  • Tweak: when a listing is expired, hide the edit action from the frontend dashboard.
  • Fix: expired listings not visible in the frontend dashboard when “all listings” status is selected.
  • Fix: uploaded file mime type verification would sometimes fail.

The following documentation articles have been updated/created:

Listings expiry
How to make expired listings visible

0.1.2 Open beta release

  • tweak: decode retrieved urls for email tags.
  • tweak: add site’s name and site’s admin email to email options during plugin first installation.
  • tweak: automatically enable expiry notification email during plugin first installation.
  • tweak: listing title field should not have the “admin only” setting.
  • tweak: the listing tags field should not have an options generator setting.
  • fix: login fails when username is an email address and login method is set to “username only”
  • fix: parameters missed when using the recent and featured shortcode from the shortcodes editor.
  • fix: profile page not loading when username has spaces.

0.1.1 Open beta release

  • Fix: dist folder missing from deployment script.

0.1.0 Open beta release