Skill level: Beginner
Time to complete: 10–15 minutes
Plugin location: Settings → Directory Settings


What You’ll Learn

  • How to register a new directory (native custom post type)
  • How to link a CPT created by Friendly CSV Importer
  • How to place the listing shortcode on a page
  • What the plugin creates and where to find things
  • How to add records to a native directory

Before You Begin

Friendly CPT Listing displays records from a custom post type. Before you can show a directory, you need a custom post type to display.

If your data is in a spreadsheet: Use the Friendly CSV Importer plugin first. Import your CSV, let it create the post type and import all records, then come back here and link it. See Getting Started with Friendly CSV Importer for that process.

If you’re building from scratch: You can register a native CPT directly in Friendly CPT Listing and add records manually through the WordPress admin.


Option A: Register a Native Directory

Use this when you want Friendly CPT Listing to manage the custom post type definition and you’ll be adding records manually.

Step 1 — Open Directory Settings

Go to Tools → Friendly CPT Listings in the WordPress admin.

Step 2 — Fill in the Registration Form

Find the Register a New Directory form and fill in:

FieldWhat to enterExample
Singular LabelWhat you call one recordMember
Plural LabelWhat you call multiple recordsMembers
URL SlugThe base for your URLs — lowercase, hyphens allowedmembers

The URL slug determines how detail page URLs are formed. For example, a slug of members gives you URLs like yoursite.com/members/jane-doe/.

Step 3 — Click Register

Click Add Directory. The page refreshes and your new directory appears in the table. See the bottom of this page for managing the fields used by your new directory.

What Was Created

  • A new custom post type registered in WordPress
  • A new menu item in your admin sidebar (under the post type label)
  • A shortcode you can use to display the listing

Step 4 — Flush Rewrite Rules

After registering a native CPT, WordPress needs to update its URL rules. Do one of the following:

  • Click the Flush Rewrite Rules button on the Directory Settings page
  • Or visit Settings → Permalinks and click Save without changing anything

If you skip this step, detail page URLs will return 404 errors until you flush.

Step 5 — Add Records

Your directory is empty until you add posts to it. In the admin sidebar, find your new post type (e.g., “Members”) and add records just like you would a regular WordPress post.

  • The post title becomes the record’s name
  • Any custom fields you define in the Fields tab will appear as meta boxes on the post edit screen

Use this when you’ve already imported data using Friendly CSV Importer and want Friendly CPT Listing to provide the frontend display and filtering.

Step 1 — Open Directory Settings

Go to Tools → Friendly CPT Listings.

Step 2 — Link the Post Type

Find the Link an Existing CSV Importer CPT form. The dropdown lists all CPTs created by CPT CSV Importer that aren’t already linked.

Select your post type from the dropdown and click Link Directory.

What’s Different About Linked Directories

When a CPT comes from CPT CSV Importer:

  • Fields are read-only in Friendly CPT Listing — the field definitions (names, types, meta keys) are managed by Friendly CSV Importer. You cannot add, edit, or delete fields here.
  • You can still configure display — the Fields tab lets you choose which fields appear on cards, which are used as filters, and which show on the detail page.
  • Singular/Plural labels and URL slug are read-only — these come from the CSV Importer definition.
  • Data is already there — all records imported by Friendly CSV Importer are immediately available to display.

No rewrite rule flush is needed — the post type was already registered by Friendly CSV Importer.


Placing the Shortcode

Once your directory is registered or linked, copy its shortcode from the Directory Settings table.

Each directory in the table has a shortcode shown in the Shortcode column. It looks like:

[cptlisting post_type="members"]

Click the shortcode text to copy it to your clipboard.

To display the listing:

  1. Create or edit any WordPress page
  2. Paste the shortcode into the page content
  3. Publish or update the page
  4. Visit the page on the frontend

You should see a card grid with filter dropdowns above it.


What You’ll See

The listing page shows:

  • Filter dropdowns — one per field marked as a filter, each showing available values and result counts
  • Card grid — one card per record, showing the fields you’ve marked as “On Card”
  • Pagination — page controls at the bottom if the number of records exceeds your Items Per Page setting

If you haven’t configured any fields yet, cards will show only the post title. See Fields and Filters: Configuring What Shows Where to set this up.


Managing Multiple Directories

You can register as many directories as you need. Each appears as its own row in the Directory Settings table with its own shortcode.

A single WordPress site can run several directories simultaneously — a members directory, an events listing, a resources library — each with independent field, filter, and display configurations.


Troubleshooting

Detail pages return a 404

  • You need to flush rewrite rules after registering a native CPT. Visit Settings → Permalinks and click Save.
  • For Friendly CSV Importer CPTs, the post type should already be registered. Try deactivating and reactivating Friendly CSV Importer, then flush permalinks.

No cards are showing on the listing page

  • Check that your records are published, not in draft status.
  • For native CPTs, make sure you’ve added at least one post under that post type.
  • For Friendly CSV Importer CPTs, verify the import completed successfully.

The shortcode renders as plain text

  • Make sure you’re in the Text/HTML editor (or using a block that supports shortcodes) rather than pasting into a block that treats content as plain text.

My CSV Importer CPT doesn’t appear in the Link dropdown

  • The dropdown only shows CPTs created by Friendly CSV Importer that aren’t already linked. If it’s been linked before, it won’t appear again.
  • Make sure Friendly CSV Importer is active and has at least one registered CPT.

Next Steps