If you enroll students in courses or programs – whether that’s through an educational institute, school, university, tuition, or private classes – you probably maintain a student database such as a Microsoft Access database, Microsoft Excel, or Google Sheets. It might contain basic information about your students, such as their names, contact information, and the courses they’re enrolled in.
You might consider displaying this information on your site’s front-end to make it easily accessible to students, parents, and staff members - either publicly or within a password protected private area. One way to do this is by using the Posts Table Pro plugin to create a simple student database.
In this post, we’ll explain why you need a student database plugin and how to choose the right one for your needs. We’ll also walk you through a step-by-step tutorial on how to create a student database on your WordPress site that:
- Displays all student profiles on a single page in a neat and organized table layout.
- Lets users look up students using built-in search, sort, and filter options.
- Enable admin staff to update student information directly from the front-end of your site.
Let’s get started!
Why you need a WordPress student database plugin
Every school, college, and university needs to create a database of all their students. This directory typically contains student names, student ID, email, photo, date of birth, year of graduation, and department. Creating a physical record of all your students is useful for administration purposes and so is storing that information digitally on your website.
An online student database is convenient, can’t be misplaced, and can easily be updated. For WordPress users, the best way to create one is by using a WordPress student database plugin that offers these features:
- A simple and easy way to add individual students and list them in one place.
- Option to add as many additional fields as you need.
- Searching and/or filtering functionality to enable users to quickly find what they’re looking for.
Once you have a student database in place, you can use it as a data system or a student information system for better school management.
Introducing Posts Table Pro
Fortunately, finding the best WordPress student database plugin isn’t as difficult as it may seem. Our Posts Table Pro plugin is a robust solution that meets all of the requirements as mentioned above. More specifically, it lets you create a searchable and sortable student database that can be modified to fit your particular needs then displayed on the front-end of your WordPress site.
You’ll be able to include as much information as you want in your student records using a customizable shortcode, easily organize everything, and enable users to quickly find the student they’re looking for. Plus, by purchasing this plugin you’ll get expert support in case you need help getting started.
Key features on offer with Posts Table Pro:
- Supports custom post types, fields, and taxonomies, which are perfect for creating a student custom post type with extra fields to save information about each student.
- It offers easy-to-use search and sort features making it easy for users to find a specific student in the database.
- Option to embed media files that you can use to display photos of students in the database on your site’s front-end.
- It offers several customization options for modifying the look and feel of your WordPress student database in any way you like!
How to create a student database using Gravity Forms and Posts Table Pro
In this tutorial, we’ll show you how to create a functional front-end student database in WordPress. You can read it from start to finish or jump to the specific steps you need:
- Use Gravity Forms to create a submission form
- Store the student information as a custom post type in WordPress
- Display the student database in a table on the front-end of your website
Step #1: Use Gravity Forms to create a submission form (optional)
Note: This step is optional. If you're happy adding students directly in the WordPress admin, then you can skip to Step 2.
The first thing you need to do is use Gravity Forms to create a submission form that new students can use to upload their information.
Log in to your WordPress website and navigate to Forms → New Form from the admin panel.
In the Create a New Form pop-up, enter the form’s title and a brief description. Click the Create Form button to proceed.
Next, we’ll add relevant fields to the submission form depending on the type of educational institute you’re creating the student database for.
For example, if you’re creating a student database of high school students, you might consider asking for the student’s name, date of birth, locker number, class section, student attendance, school district, and teacher name. However, if you’re creating one for university students, you might instead ask for the student’s name, contact information, department, and year of graduation. And if you have a global student body, you could include information about the student's city (New York or Toronto) and country (the United States or Canada). This should give you a window into some of the student attributes you can include in your student database.
Here are some of the most common form fields to help you get started with a step in the right direction:
- First and last name
- Student ID
- Date of birth
- Year of graduation
- Student photo
First name, last name, and email address
For First and Last Name, add the Name field from Advanced Fields.
Similarly, for Email, use the Email field (under Advanced Fields).
For student ID simply add a Number Field (under Standard Fields) if you assign numeric student IDs. However, if your student IDs are alphanumeric, you’ll have to use a Single Line Text field instead. For alphanumeric student IDs, you can also choose to add an Input Mask.
Date of birth and graduation year
For Date of Birth, add a Date field from Advanced Fields. Rename the field to Date of Birth and change the date format to yyyy/mm/dd.
For the Graduation Year field, you can create Radio Buttons (under Standard Fields) instead of a date picker.
For Student photo, use the File Upload field (under Advanced Fields). Here’s what you need to do:
- Change the Field Label to Student Photo.
- Type jpeg, jpg, png in the Allowed file extensions option. This will restrict users from uploading other image formats.
- Enter a Maximum File Size value (such as 5MB or 10MB).
Once you’ve created the submission form, click the Update button to proceed. Your submission form might look something like this:
Step #2: Store the student information as a custom post type in WordPress
In Step #1, we showed you how to create a submission form using the Gravity Forms plugin that students can use to submit their information. Once a student fills out the submission form, you’ll receive this information via email and it will also be stored in the WordPress database.
In this step, you’ll learn how to create a custom post type and store the information you collect from students directly in custom posts on your WordPress website. This way, you won’t have to manually enter the data to your site.
Note: We don’t recommend storing user-submitted data as regular WordPress posts because it will quickly clutter up your entire website. Instead, we suggest that you create a dedicated custom post type for storing student data. Since we want to create a student database from user-submitted data, we can create a ‘Students’ custom post type. This way, you’ll be able to organize student data separately from other site content.
To create a custom post type that works seamlessly with the Gravity Forms plugin, we recommend using the free Gravity Forms + Custom Post Types plugin. Here are the steps you need to follow to create a custom post type and integrate it with your Gravity Forms submission form:
- Install the Gravity Forms + Custom Post Types plugin to your WordPress website and activate it.
- If you haven’t already created a custom post type, use the free Pods plugin to do this. For complete instructions, check out this step-by-step tutorial on how to create a custom post type then come back here to continue this tutorial.
- Finally, you need to map your form fields to the custom post type using the instructions provided on the plugin’s page under the FAQ section (How to map a form to a custom post type).
Or if you don't need a way to submit students from the front-end, then you don't need to bother with Gravity Forms. Instead, just go to Students → Add New in the WordPress admin and add the students from there.
Step #3: Display the student database in a table on the front-end of your website
By now, you should have a submission form that’s linked to a custom post type on your WordPress website. In other words, whenever a student fills out the form and submits their entry, the student data should automatically be populated into your WordPress site as a custom post.
Next, you’ll learn how to display the user-submitted custom posts on your site’s front-end in a dynamic and organized table layout. We’ll use the Posts Table Pro plugin to do this.
Install Posts Table Pro to your WordPress website
If you haven’t done so already, get the Posts Table Pro plugin and install it to your WordPress website. You’ll receive the plugin files and license key in a confirmation email.
Head over to Settings → Posts Table Pro from the WordPress dashboard. Enter your license key in the License Key field to activate it. Click the Save Changes button to proceed.
Set the post type option
From the same screen, you can make changes to how your student database looks and functions on the front-end.
Under the Posts selection section:
Set the Post type option to your custom post type (e.g. student) using the dropdown menu.
This way, the Posts Table Pro plugin will know where to grab the student data from.
In addition to this, you can also modify other table settings such as table content, table loading options, sorting options, and table controls from the Settings screen.
Check out the documentation for a detailed explanation of each setting!
Create a page to display the student database
Finally, we’ll create a page where we want to display the student database. Head over to Pages → Add New from the WordPress admin panel. Give your page a suitable title, such as the student database.
Since we’re displaying data from a custom post type, we’ll need to use the custom field columns. For example, the custom field for student’s first name maps to
first_name as it’s stored in the Students custom post type. So, to display the student’s first name, we’d enter
cf:first_name as a column entry.
You can learn more about how to use custom fields with Posts Table Pro here!
Following our submission form, we’ll be displaying the following information in our student database:
- Student photo
- Student ID
- First name
- Last name
- Date of birth
- Graduation year
Our Posts Table Pro shortcode would be:
If you’re using the Gutenberg editor, click the (+) icon in the top-left corner of the screen and add a Shortcode block to the text editor. Next, enter the Posts Table Pro shortcode.
For classic editor:
However, if you’re using the classic editor, simply enter the Posts Table Pro shortcode into the text editor.
Click the Publish button to proceed.
Your student database should look something like this:
And if you want to collect additional information from students such as their ...
- Department (Department of Education or Department of Information Technology) or
- Majors (Small Business Sales Management or Corporate Finance)
... your table layout might look something like this:
Can students edit entries after submitting them?
Unfortunately, Gravity Forms doesn’t give users the option to let students edit entries or other information after they’ve submitted them through the submission form. However, you can make edits using Editus – a WordPress front-end editor plugin.
To achieve this, the students would have to click through to the single student profile page on your site. This is necessary because they can’t make changes to entries from within the Posts Table Pro table itself. However, they will be able to edit the content on the single post page as necessary.
Can I display Gravity Forms entries on the front-end without creating a custom post type?
The Posts Table Pro lets you display posts or custom post types in a table layout on your site’s front-end. Since form submissions are stored in a separate database field by Gravity Forms, you can’t list entries directly in a table layout using Posts Table Pro. The information needs to be stored as a post or custom post type.
This is why you’ll need to follow the instructions provided in the tutorial section above if you want to automatically store the information as a custom post type and then display these entries on the front-end in a table layout.
Can I import students in bulk?
Absolutely. You can mass-import students into the database using any WordPress import plugin such as WP All Import. This saves having to add each student individually, either via a front end form or the WordPress admin.
Create a private student database
Finally, let's talk about how you hide your WordPress student database and make it secure. Some student directories are available to the public, and that's fine. However, others need to be hidden from public view.
The easiest way to protect your student database is to password protect the page where you're listing all the students. You can easily do this by setting the page to 'Password protected' and giving the password to your students and staff.
The Posts Table Pro plugin offers several useful features for private or public schools (elementary schools through high schools), non-profit educational institutes, colleges, and universities to create a searchable and filterable student database. By following the step-by-step instructions provided in this article, you’ll be able to create an all-in-one flexible student database (or student management system) that can easily be searched, sorted, and filtered directly from the front-end. In addition to this, you won't have to worry about creating student accounts or giving students access to your site's back-end.
What are some of the different fields you’re looking to display in your front-end student database? Let us know by commenting below!