You are on page 1of 15

WordPress Members Directory Plugin Tutorial with Searchable

Table & Profiles

This tutorial by UK WordPress agency Barn2 Media was originally published at


https://barn2.co.uk/wordpress-member-directory-plugin.

A WordPress member directory plugin lets you create a list of your organisation's members. The list of
members will appear on a public or private page on your website. Typically, the members are listed in
a WordPress table with options to sort, search or filter to find a particular member. When someone finds
the member they're interested in, they can click through to read the full member profile.

This is completely different from a WordPress membership plugin. A membership plugin lets you create a
private members-only area for your members to log into.

It's also different from most WordPress member directory plugins. These typically create a fairly basic
directory listing all the users from your WordPress website. (I.e. everyone from the Users section of
the WordPress admin.) This is fine for some membership directories, but what happens if your members
are NOT users in your WordPress admin? There are lots of reasons why your directory of members would
contain different people from your list of WordPress users.

This makes it very hard to find a suitable plugin to create a WordPress member directory with profile.
Whenever you search for this sort of plugin, you find membership plugins designed to create a protected
members-only area of your website. Or members directories listing all your WordPress users.

I'm writing this tutorial to teach you how to build a different sort of WordPress member directory. We'll
use the Posts Table Pro plugin with a couple of free WordPress plugins for creating the member profiles.
The members in your directory don't need to have logins for your website - your users are kept
completely separately.

I've kept it nice and simple and you don't need any technical expertise. If you follow the steps in this
tutorial, you'll have your WordPress member directory up and running in no time.

Some WordPress member directory plugin use cases

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
Before we start, here are some examples of WordPress websites with a searchable member directory with
profile. This will help you to understand what's possible and start planning your own directory of
members.

Case study 1 - CEPPs members directory

CEPPs are a charity who support mothers and early childhood. They use the Posts Table Pro plugin to
create a WordPress member directory with profiles.

The CEPPS directory of members lists their supporters in a mobile-friendly, fully responsive
WordPress table. Each supporter is listed within a custom post type in WordPress. Various information
about each member is stored as custom fields, categories and taxonomies. Each piece of data is stored as
a separate column in the table. Visitors can sort the table by clicking on any column header. They can
search for any keyword by typing into the search box. They can also filter the WordPress member directory
by clicking on country, city, type or tag. This makes the member directory really flexible and quick to use.

You can click on a logo, name or 'Visit' link to view the individual member profile page. This contains
further information about each member.

Case study 2 - SuperConnection consultants directory

SuperConnection have a WordPress member directory listing their expert consultants. Each consultant
has attended their training and is available for consultation.

The consultants are listed in alphabetical order with their name and location. You can sort by either
column or perform an instant search using the search box. This makes it easy to find a consultant in your
area.

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
You can click from the directory to the individual member profile pages. These include various custom
fields about each member including contact details, location map and classes completed.

Consultants directory table:

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
Member profile page:

If these examples are the sort of WordPress member directory that you want to build, keep reading... This
tutorial will teach you how to do the same for your own website. We'll actually be going even further as I'll
show you how to add extra columns and filter dropdowns to the directory too!

What are your requirements for a WordPress member directory with


profiles?

First, it's important to think about your requirements. What do you want to achieve from your WordPress
member directory plugin? This will help you decide if the type of member directory covered in this tutorial
is right for you.

Planning your member directory

Will your WordPress member directory be publicly available or hidden from public view? I'll
show you how to create a public member directory and how to password protect it. If you want to
protect it further - for example by making it available to specific groups via a membership plugin -
then we won't be covering this. However the techniques covered in this tutorial can be used
anywhere on a WordPress site. This means that you can put it on a page that is restricted using
another membership plugin, if you like.
Can members create and manage their own profiles? This tutorial is about how to create a
WordPress member directory with profiles that you will maintain as the website administrator. If

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
you want members to be able to create their own profiles then you'll need to do some extra
work outside of this tutorial. (Bonus tip: You could use the Gravity Forms + Custom Post
Types plugin to let members submit their own profiles to the directory. You could even take payment
via PayPal if required. New members would complete an online form with their profile information
which would then be saved in the 'Members' custom post type to be displayed in the directory.)
Do your members have to be WordPress users? Unlike other membership directory WordPress
plugins, you'll be adding the members as a custom post type in WordPress. The Posts Table Pro
plugin we'll be using as our member directory plugin displays custom post types but NOT
WordPress users. If your members are also WordPress users (i.e. they're listed in the Users section
of the WordPress admin) then you can't list them in the directory. To do this, you'd need to add
each member to the 'Members' custom post type we'll be creating in this tutorial.

What information will the WordPress member directory contain?

You should also consider:

What information do you want to display about each member? Write a list of the data you
want to display in the WordPress member directory plugin. This can include various text fields
(name, description, experience etc.), one or more images, icons (e.g. linking to their social media
profiles) etc. Basically anything you like. You'll use this later in the tutorial when you create the
custom fields for your WordPress directory of members with member profiles.
How will you structure your WordPress directory of members? As well as the unique data
about each member such as their name and email, you'll probably want to categorise your
directory of members. Write a list of the different ways you want users to be able to sort and filter
the member directory.

Armed with this information, you're ready to start building your WordPress member directory.

1. Create a 'Members' custom post type

Each member in your directory and their profile data will be stored in a WordPress custom post type called
'Members'. (Don't worry, you can call it something else if you prefer.) This will create a 'Members' section
in the left of the WordPress admin. Each member will be added as a separate 'post' within this section.

If you're a developer, you can create a 'Members' custom post type with your usual method. If not, we'll
do it using the Custom Post Type UI plugin.

1. Go to Plugins > Add New and search for 'Custom Post Type UI'.
2. Install and activate the plugin.
3. Go to CPT UI > Add/Edit Post Types.
4. Complete the following fields on the 'Add New Post Type' tab:
Post Type Slug - Add a lower case label for the post type, e.g. 'members'. This will be used in the
URL for your member profile pages, e.g. www.yoursite.com/members/joebloggs.
Plural Label - Add a plural label for your Members post type, e.g. 'Members'. This will appear in
the left of the WordPress admin.
Singular Label - Add a singlular label, e.g. 'Member'. This will appear when you add a new post in
your Members post type, e.g. 'Add New Member'.
5. Now scroll down to the Supports section, ignoring everything in between. (Feel free to check
these fields and change them if they're relevant.) Tick the boxes for the fields that you plan to use

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
for your member profiles. Most member directories will need the title, editor (main content
area/description) as a minimum. You may also want a featured image and excerpt. I'll also show
you how to add custom fields and taxonomies later in this tutorial.
6. Scroll a bit further to the Built-in Taxonomies section. Tick 'Categories' and 'Tags' if you plan to
use these.
7. Click the blue 'Save Post Type' button at the bottom of the page.

2. Create your categories, tags & custom taxonomies

Categories, tags and custom taxonomies let you store information that will apply to multiple members in
your directory. People viewing your members directory can filter the table to find all the members with a
specific category/tag/taxonomy.

For example, you might want to categorise your WordPress member directory by local area. You could
create a category, tag or taxonomy for each geographical area. An 'Area' filter could appear above the
member directory so that users can filter the table for members in a specific area.

These 3 ways of organising content in WordPress are quite similar. To be honest it's not that important
which you use, but here are some tips to help you decide between them:

Categories - Use WordPress categories as the primary way of organising your member directory
plugin. All members should come under one or more categories.
Tags - Tags are labels that provide extra information about your members. They're optional and
members can have no tags or several.
Custom Taxonomies - Use these for additional categorisation that you want to use in
the WordPress member directory. For example if you're using your main categories for
geographical area then you might want custom taxonomies for any other ways you want to
categorise your members.

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
Some examples

For example, you might use categories to record the geographical area of each member, e.g. 'England'.
Each member might have some tags relating to their specific skills such as 'French speaking' or '5+ years
experience'. You might have custom taxonomies for 'Level' (e.g. Junior, Intermediate or Senior Consultant).

You can create tags when you add the members later, but you need to add the categories and custom
taxonomies now.

2a. Create your categories

1. Go to Members > Categories in the WordPress admin.


2. On the left hand side, add the name and slug (the end bit of the URL) for each category you want
to create.
3. Click 'Add New Category'.
4. Repeat the process for all the categories you want to create.

Tip: You can create sub-categories by selecting another category as the 'parent'. However your member
directory will list all the categories and sub-categories on the same level, for example in the 'Categories'
filter dropdown. If you want to list them separately then you should create a custom taxonomy instead.
For example, you might be using your top level categories to record each member's country. Instead of
adding the regions within each country as sub-categories, you can create a custom taxonomy for 'Region'.
This will let you list the regions as a separate dropdown filter above the members table, instead of
combining the countries and regions in a single list of categories.

2b. Create your custom taxonomies

Create custom taxonomies using the Custom Post Type UI plugin you used to create the 'Members' post
type:

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
1. Go to CPT UI > Add/Edit Taxonomies in the WordPress admin.
2. Complete the following fields in the Add New Taxonomy tab:
Taxonomy Slug - a lowercase label for the taxonomy (e.g. 'town').
Plural Label - The name for the taxonomy in plural (e.g. 'Towns').
Singular Label - The name for the taxonomy in singular (e.g. 'Town').
Attach to Post Type - Select the Members custom post type.
3. Click the blue 'Save Taxonomy' button.

Now when you add new members to the directory, you'll be able to add data to the taxonomy you have
added. You can create as many custom taxonomies as you like.

3. Custom fields

Custom fields let you store unique data about your members that isn't possible within standard WordPress
fields. Look at the list you wrote earlier about the data you need in the WordPress member directory. This
probably includes things like member name, phone number etc. Mark which items in the list correspond
to the following WordPress fields:

ID - This is the unique ID for the member which is stored in the WordPress database and will be
created automatically when you add each member. The ID's will be non-sequential as they are
used for other types of content in WordPress too. You may want to use this to store member ID's.
Or if you want to choose the ID, you should use a custom field instead.
Title - Use this for the member's name.
Content - Use this for the main description on the member profile.
Excerpt - Use this if you want to display a brief introduction to the member on the main directory
page. (If you prefer, you can leave this blank and just display the first few words of the main
description instead.)
Image - Use this for the member's photo or logo.
Date - This is the date when the member was added to the website. You can change the date if
needed.

Any fields that don't come under the above list and aren't suitable for categories, tags or custom
taxonomies (i.e. they're not unique to each member) should be added as custom fields. Examples of the
sort of member data you'll need custom fields for include email address, phone number and date of birth.

3a. Create your custom fields

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
Once you've decided which custom fields you'll need, it's time to add them to your Members custom post
type. We'll do this using the Advanced Custom Fields plugin.

1. Go to Plugins > Add New.


2. Search for 'Advanced Custom Fields'.
3. Install and activate the plugin.
4. Go to Custom Fields in the WordPress admin.
5. Click Add New Field Group. Enter the name for the group of custom fields you'll create for your
Members post type.
6. Now click 'Add Field' and add the following information for each of the custom fields you want to
create. (e.g. add 1 custom field for 'Phone' and another for 'Email'):
Field Label - The title for your custom field (e.g. 'Phone').
Field Name - Lower case label for the custom field (e.g. 'phone').
Field Type - Select the method that you'll use to complete this custom field in the WordPress
admin. e.g. select 'Text' to add basic information about each member. Or 'Email' for an email
address. Or maybe a Select dropdown, Check Box or Radio Button to add some pre-set options to
choose from.
Also complete any of the other fields, as needed.
7. Location Rules - Select 'Show this field group' if post type is equal to your members post type.

Now, your custom fields will appear on the 'Add New Member' page. You can store this information about
each everyone in your member directory.

4. Add your members to the directory

Now you've finished creating the infrastructure for storing your member profiles in the directory. It's time
to add all your members:

1. Go to Members > Add New in the WordPress admin.

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
2. Add the member profile using the standard WordPress fields, categories, tags, taxonomies and
custom fields you created earlier.
3. Click the blue 'Publish' button.
4. Repeat the process for all your other member profiles.

5. Create your searchable member directory table

The next step is to add a members directory table to a page on your website. This will list all your
members, with optional click-throughs to the individual member profile pages.

1. Buy the Posts Table Pro plugin, download the plugin files from the order confirmation page and
copy your license key.
2. Go to Posts > Add New in the WordPress admin.
3. Click 'Upload' and upload the Posts Table Pro files.
4. Activate the plugin.
5. Go to Settings > Posts Table Pro, enter your license key and click save.
6. Go to the page on your WordPress website where you want to add the member directory table.
Add the shortcode: [no_shortcodes][posts_table post_type="members"][/no_shortcodes]. This
tells Posts Table Pro to list all your member custom posts in a table. (Note: If you chose something
other than 'members' as the slug for your custom post type, enter this instead.)
7. Save the page and view it.

You will see all your members listed in an interactive table.

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
Keep reading to make your member directory just like this!

6. Customise your WordPress member directory

By default, your member directory table will include columns for title, content, author and date. Some of
these are more relevant to a blog than a directory of members. Next, I'll show you how to customise the
columns and various other elements of your WordPress member directory.

The WordPress table plugin Posts Table Pro comes with lots of options to control how your member
directory looks and behaves. You can read about all the options in the documentation. Here's a summary
of the ones most relevant to a WordPress member directory.

Choose your columns appear in the table

Your members table can include columns for ID, title, content, excerpt, image, date, author, categories,
tags, status or any custom field or taxonomy. Add these to the shortcode in the following format. This
example will add columns for image, name, excerpt, categories, a custom field called 'phone' and a custom
taxonomy called 'level'.

[no_shortcodes][posts_table post_type="members"
columns="image,title,excerpt,categories,cf:phone,tax:level"][/no_shortcodes]

Add filter dropdowns to the table

By default, the WordPress member directory includes a search box above the table. You can also add filter
dropdowns to let users filter by category, tax or custom taxonomy.

You can enable all possible filters as follows:

[no_shortcodes][posts_table post_type="members"
columns="image,title,excerpt,categories,cf:phone,tax:level" filters="true"][/no_shortcodes]

Alternatively, you can add some filters but not others. This example will only show a category filter:

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
[no_shortcodes][posts_table post_type="members"
columns="image,title,excerpt,categories,cf:phone,tax:level" filters="categories"][/no_shortcodes]

Change the order of your members list

The default member directory lists members in the date they were added, with the most recent first. You
can change it to sort by any column in the table, or other options such as setting a custom order.

Most WordPress member directory plugins sort the list alphabetically. This shortcode will sort the table
alphabetically by name in ascending order (i.e. A-Z).

[no_shortcodes][posts_table post_type="members"
columns="image,title,excerpt,categories,cf:phone,tax:level" filters="true"
sort_by="title"][/no_shortcodes]

Disable individual member profiles

In the default members table, you can click on a member's title or image to view their profile page. You
can disable this as follows:

[no_shortcodes][posts_table post_type="members"
columns="image,title,excerpt,categories,cf:phone,tax:level" links="none"][/no_shortcodes]

This will disable all links in the WordPress member directory. If you want people to be able to click on the
categories, tags or taxonomies to filter the table, while still disabling the profile page links, use this
instead:

[no_shortcodes][posts_table post_type="members"
columns="image,title,excerpt,categories,cf:phone,tax:level"
links="categories,tags,tax:level"][/no_shortcodes] (you may need to change this slightly depending on
which taxonomies you're displaying)

This way, all your members will still be listed in the directory table. But users won't be able to view
separate profile pages for each member.

Advanced: Create a directory listing specific members only

The examples above will list all members in the directory table. If you prefer, you can create multiple tables
- each listing different types of member. For example:

You may want to list members with different skill levels on different pages of your website.
Alternatively, you might want to divide your member directory page into multiple sections. You
might have an 'Europe' subheading followed by a table of members in the Europe category. Then
you could have an 'Asia' subheading and a table of members in the 'Asia' category. And so on.

You can add tables containing members with a specific category, tag, taxonomy or custom field. These
links will take you to the relevant section of the documentation. (It's also possible to create tables with
members who were added on a specific day, month or year but you're less likely to need this.)

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
7. Test the member profile page

Next, go to the individual profile page for a member and check it looks ok. You can find this by clicking
the name of a member in the directory. Or go to the Members page in the WordPress admin, hover over a
member and click 'View'.

By default, the member profile pages will use the same template as the standard blog posts in your theme.
The exact content depends on the theme but probably includes the title, content, featured image, tags
and categories. There may also be information you don't want such as date or author. It definitely won't
include any custom fields or taxonomies.

Customising the member profile

This is where it gets a bit tricky. If you're happy with the member profile page as it is, that's great. Your
custom fields and taxonomies are listed in the member directory table so you may not need them on the
individual member profile. If you've disabled the links to the member profile pages (see above), that's fine
too.

However if you want to change the content or layout of your member profiles then this requires a bit
more technical know-how. The only way to customise the member profile page is to create a new
template for the custom post type in your theme or child theme. You then need to edit the code to make
the required changes.

This is beyond the scope of this introductory tutorial and if you're not comfortable editing code, I
recommend posting a job on Codeable. Codeable is a well-known marketplace of tried and tested
WordPress experts. It's a good place to find someone good for small jobs like this. Alternatively,
the Advanced Custom Fields documentation includes instructions on adding custom fields and
taxonomies to your template.

How to password protect your WordPress member directory

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
If you want your WordPress member directory and profiles to be publicly available then you've finished -
well done! To create a private members directory, the easiest option is to password protect the relevant
page in WordPress.

1. Go to 'Pages' in the admin and click on the page used for your WordPress member directory table.
2. Click the 'Edit' link next to 'Visibility' in the 'Publish' panel at the top right of the screen.
3. Choose 'Password protected' and enter a password for the page.
4. Click the blue Publish or Update button.

You can then give the password to everyone who needs access to the member directory.

For a more advanced solution, you can use a WordPress membership plugin to protect the page, or to
create a wider members area. The Groups WordPress plugin offers a simple, user-friendly way to create a
protected members area.

Create your own WordPress member directory with profile

Now it's your turn! I've given you all the information to create a fully functional member directory for your
WordPress site. You know how to create a 'Members' custom post type with various fields of data about
your members. I've told you how to use Posts Table Pro to create a searchable members directory table.
You know how to customise the members table and where to get the resources to edit your member
profile template. I've even shown you how to hide the member directory from public view.

Once you've finished your member directory, you can also use Posts Table Pro to present other types of
content. For example, you can use it as a WordPress document library plugin or create a publications
library. You can even use it as a WordPress audio library, video gallery or events list.

I'd love to see a link to your own WordPress member directory after you've created it. How did you get
on? Is there anything I can to do improve this WordPress tutorial? Please leave your comments below.

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444
GET POSTS TABLE PRO

Barn2 Media Limited


Registered Office: 2 Dunstone Farm Barns, Cadover Bridge,
Plymouth, Devon, PL7 5EH
t: 01752 729916 e: info@barn2.co.uk w: barn2.co.uk
Registered in England. Company Number: 8565444

You might also like