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:
| Field | What to enter | Example |
|---|---|---|
| Singular Label | What you call one record | Member |
| Plural Label | What you call multiple records | Members |
| URL Slug | The base for your URLs — lowercase, hyphens allowed | members |
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
Option B: Link a Friendly CSV Importer Directory
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:
- Create or edit any WordPress page
- Paste the shortcode into the page content
- Publish or update the page
- 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
- Fields and Filters: Configuring What Shows Where — set which fields appear on cards, in filters, and on the detail page
- The Detail Page and Template Customisation — customise the single-item view and configure action buttons
