Check out our new plugin, Document Library Pro - designed specifically for documents.
View Plugin

WordPress resource library plugin: Step-by-step guide

August 14, 2020

Looking for a user-friendly way to display documents or resources at your site? A WordPress resource library plugin can help you create a searchable, filterable resource library for any file type.

In this tutorial, we'll show you step-by-step how to create a flexible WordPress resource library that looks something like this without writing a single line of code:

WordPress resource library example

With the WordPress resource library plugin that we show you, you'll be able to create a PDF library, image library, or any other type of document library. Or maybe you want to create a modern take on a traditional 'Links' page, with extra information about each resource to boost your SEO.

Either way, your visitors will be able to sort, search, and filter all the resources in your library. This ensures that they're able to find exactly what they need.

And you'll also be able to divide resources into categories, password protect your resource library, and just generally create a library that's built for your unique needs.

Keep reading for more information and a step-by-step guide on how to create your own resource library today!

Why Posts Table Pro makes a great WordPress resource library plugin

Posts Table Pro helps you display any content from your WordPress site in a flexible table format. And you guessed it - "any content" includes resources.

You can upload the resources you want to include to your WordPress site using a simple free plugin. Then, Posts Table Pro helps you display them on the front-end.

The benefits of this approach are that you can…

  • Choose exactly what information to include For example, you can add a short excerpt to describe each file, include an image, or lots more.
  • Make it easy for visitors to find resources You can let them search by keyword, give them filter drop-downs, and more.
  • Organize resources into different libraries If needed, you can create multiple resource libraries for different content/users.
  • Still use core WordPress functionalityFor example, it's easy to create a private WordPress resource library just by using the built-in WordPress Visibility settings.

WordPress resource library example - Huckleberry Hearts

WordPress resource library plugin case study

Huckleberry Hearts uses Posts Table Pro as a WordPress resource library plugin to share free downloadables. Here's why Shanna chose Posts Table Pro for her resource library:

I'm a freelance graphic designer and artist and I sell my digital art on my website. I also have a blog, and since I offer a lot of free printables to my readers, it seemed logical to have a resource library. So once my members sign up for a free membership, they are given access to the library.

By Shanna Craft
This plugin has saved me so much time and energy, well worth the money I spent! I was worried it would be techy and difficult to figure out. But the video tutorial was easy to follow and in 30 minutes I had my resource library up on my website. Thank you for a great experience!

How to create your own WordPress resource library

Ready to create your own resource library? Over the next few sections, we'll show you step-by-step how to use Posts Table Pro as a WordPress resource library plugin for your content.

We'll start with a general guide for creating a simple resource library. Then, we'll share some additional tweaks that you can use to enhance your library.

What you'll need to create your resource library

To follow this guide, you'll need to have these two plugins installed and activated at your site:

  • WordPress Download Manager This plugin helps you manage the files in your resource library. You'll use it to upload all the files that you want to include in your resource library.
  • Posts Table Pro Once you've uploaded the files to WordPress Download Manager, you'll use Posts Table Pro to display them on the front-end of your site in the user-friendly, flexible table layout that you've seen above.
Posts Table Pro
The easy way to create a searchable, sortable WordPress resource library with filters.

Once you have those two plugins installed, here are the steps to set up your resource library. You can also watch our video tutorial below:

  1. Upload your resources to WordPress with WordPress Download Manager
  2. Create your resource library page with Posts Table Pro
  3. Make your resource library private (optional)
  4. Enhance your resource library's navigation with tabs, subcategories, or other tweaks (optional)

Step 1: Upload resources to WordPress using WordPress Download Manager

The first thing that you'll need to do is upload all the files that you want to include in your resource library. Again, that's what the WordPress Download Manager plugin is for.

The plugin will let you upload pretty much any type of resource, including:

  • PDF files
  • Images
  • Word documents
  • Spreadsheets
  • ZIP files
  • name it!

Uploading your first resource

To upload your first resource, go to Downloads → Add New. There, you'll see an interface that looks a lot like the regular WordPress editor, but with a few additions.

To get started:

  1. Enter the resource's name in the Title box
  2. Upload the resource file by using the Attach File area on the right
Upload files to WordPress Download Manager

You can also add categories or tags* to organize your files just like you would with a regular WordPress post. And, if desired, you can include an excerpt that describes the file, as well as a featured image. You'll be able to include any/all of this information in your resource library:

File information

*It's important to note that WordPress Download Manager uses the same tags as your regular posts and pages. For that reason, you might be better off creating a custom taxonomy if you want to use tags (more on this later). The Category field is unique to your downloads, though.

Once you've entered the information, click the Publish button.

Choose how to include your download link

At this point, you've successfully uploaded your file to your WordPress site. But if you want users to be able to download the file directly from the resource library page, you'll need to also include a download button.

There are two ways to do this.

First, you can simply include a Download link in the regular text editor. You'll need to link the text directly to the file. For example, in the screenshot below, the Download text links directly to

All you need to do is edit the number at the end of the link with the ID of the downloadable file. This ID is super easy to find - just look for the number after post= in the URL from the WordPress editor (you'll only see this number after you publish the file):

Find file ID

With this method, your resource library will include a separate column with the download link - something like this:

WordPress resource library example

You could also turn the link into a button using some simple CSS or a free plugin like MaxButtons.

Alternatively, you can use the free Page Links To plugin to link the resource's title to the direct file download. With this approach, your resource library would look more like this, where users just have to click on the title to download the file:

Link title

If you prefer this approach, make sure to install and activate the Page Links To plugin.

Then, you'll get a new Page Links To meta box in the same Edit File interface that you've been using (you'll probably need to scroll all the way to the bottom of the page to find it).

Finally, choose the option for A custom URL and enter the direct link to the file in the same format as before:

Page Links To plugin

Use custom fields or taxonomies to store more information (optional)

This step is optional - but if you'd like to store more information about each file in your resource library, you might want to use custom fields and/or custom taxonomies.

  • Custom fields - help you store information that's unique to each individual item in your resource library. For example, you could create a custom field for each resource's file size or document ID number. Both of those pieces of information will be unique to each resource.
  • Custom taxonomies - these are basically categories and tags but unique to your downloads. They're a good option when more than one resource will fit into the same taxonomy. For example, you could create taxonomies for Year or File Type. Then, you can let visitors filter by these criteria.

To add custom fields or custom taxonomies to your downloads, you can use a free plugin like Pods.

Learn how to use the Pods plugin

Step 2: Create your WordPress resource library page

Once you've uploaded all of the files that you want to include in your WordPress resource library via the method above, your next step is to create the front-end resource list that your visitors will use.

For this part, you'll switch over to the Posts Table Pro plugin. This is essential for listing your resources in a flexible way that makes it easy for visitors to find what they're looking for.

Configure Posts Table Pro to act as a resource library

To get started, head to Settings → Posts Table Pro to configure the plugin's core settings.

First, use the Post type drop-down to select wpdmnpro. This tells Posts Table Pro that you want to display content from the files that you've uploaded with WordPress Download Manager, rather than your regular posts or pages.

Then, choose what content you want to include in your resource library. The exact content that you include will depend on your specific needs, but here's a good starter:


This will display each file's:

  • Title
  • Download link
  • Category
  • Description (excerpt)
  • Published date
Configure plugin

If you want to include an image for each resource like the example from Huckleberry Hearts, you can add an image column to display each download's featured image:


Learn more about Posts Table Pro column options

Keep configuring your resource library

Next, continue and configure the other settings. We recommend considering each option, but here are some of the most important settings to consider:

  • Links - choose whether to link certain content or not. For example, you can choose whether to link the category text to the category archive page or just display the text with no link. If you don't want visitors to be able to visit the individual download page for each file, you should remove all the links*.
  • Shortcodes - if you want to use a separate column for your download links, you need to check this box so that the download links will work.
  • Filters - if you want your visitors to be able to filter your resource library, you can choose what content is filterable with this setting. For example, if you add tax:wpdmcategory, visitors will be able to filter resources by their category. Learn more about filter options.
  • Search box - by default, Posts Table Pro will add a search box above your resource library. But you can disable this feature if desired.

*If you're using the Posts Link To plugin, you'll need to leave the link for Title so that visitors can download the resource.

Create a page for your WordPress resource library

Once you've configured the Posts Table Pro settings, create a new page to house your WordPress resource library.

The next step depends on whether you're using the Classic Editor or Gutenberg:

  • Classic Editor - Click the 'Insert Posts Table' toolbar button. This adds a [posts_table] shortcode to the page.
    Inserting the Posts Table shortcode.
  • Gutenberg - Add the [posts_table] shortcode to a 'Shortcode' block.
    <table id="ptp_fd3a7eccbd83a493_1" class="posts-data-table" width="100%" data-config="{"pageLength":25,"pagingType":"simple_numbers","serverSide":true,"autoWidth":true,"clickFilter":true,"scrollOffset":15,"resetButton":true,"lengthMenu":[10,25,50,100],"columnDefs":[{"className":"col-image","targets":0},{"className":"col-title","targets":1},{"className":"col-excerpt","targets":2},{"className":"col-categories","targets":3},{"className":"col-author","targets":4},{"className":"col-date","targets":5}],"dom":"<\"posts-table-wrapper understrap\"<\"posts-table-above posts-table-controls\"f>t<\"posts-table-below posts-table-controls\"ip>>"}" data-filters="false" data-order='[[5, "desc"]]'><thead><tr><th class="all" data-name="image" data-orderable="false" data-searchable="false" data-width="70px" data-priority="2" data-data="image">Image</th><th data-name="title" data-orderable="true" data-searchable="true" data-priority="1" data-data="title">Title</th><th data-name="excerpt" data-orderable="false" data-searchable="true" data-priority="4" data-data="excerpt">Summary</th><th data-name="categories" data-orderable="false" data-searchable="true" data-priority="6" data-data="categories" data-click-filter="true">Categories</th><th data-name="author" data-orderable="true" data-searchable="true" data-priority="9" data-data="author">Author</th><th data-name="date" data-orderable="true" data-searchable="true" data-priority="5" data-data="date">Date</th></tr></thead></table> shortcode added to a 'Shortcode' Gutenberg block

You can also add regular text and other content elsewhere on the page if you'd like.

Then, publish your page and you should see your working resource library:

WordPress resource library example

And that's it! Visitors can now browse all your available resources and download them straight from your WordPress document list.

Now, let's cover a few ways to enhance your resource library, including:

  • Private resource libraries.
  • More complex navigation structures, like creating separate resource libraries for different types of files.
  • A tabbed interface to view different types of resources.

Create a private WordPress resource library

If you don't want anonymous visitors to be able to browse your resource library, you can use core WordPress functionality to either:

  • Require users to log in.
  • Make users enter a password.

Go to the page that houses your resource library and use the Visibility control to select your desired preference:

Private WordPress resource library

If you choose the Private option, only registered users with the capability to read_private_pages will be able to see the resource library. By default, that's WP users with the roles of Administrator or Editor.

If you'd like to change that, though, you can use a free plugin like User Role Editor.

Learn how to use User Role Editor

Create separate resource libraries

If you'd prefer to divide your resources into different libraries, you can use Posts Table Pro's shortcode parameters to only include specific resources.

You have a lot of flexibility here. You can choose which resources to include based on:

  • Category
  • Tag
  • Custom taxonomy
  • Custom field
  • Publish date
  • Author

Or, you can just manually choose which resources to include.

Learn how to include/exclude specific resources

By using these rules, you can create separate pages that each contain resource libraries with different information. Or, you can include multiple resource libraries on the same page and use headings to divide them.

Separate categories

Create a tabbed interface for different resource library categories

As another way to help users navigate your resources, you can also create a tabbed interface that lets users click on tabs to browse different types of resources (no page reload required). Here's an example of what we mean:

example of wordpress alphabetical index


To create this tabbed interface, you can use the free Shortcodes Ultimate plugin.

Once you've installed the plugin, you can use Tab shortcode to create the interface. All you need to do is add the Posts Table Pro shortcode in the tab's content (you can follow the same general steps that we detail in our guide to creating a WordPress A-Z index).

Once you're done, it should look something like this:

Shortcodes Ultimate

Start using a WordPress resource library plugin today!

By combining Posts Table Pro with WordPress Download Manager, you're able to easily create a flexible WordPress resource library that you can adapt to your exact needs. Whether that's a PDF library, a document library, or any other type of file library, you can make this duo work how you need it to.

Now click below to purchase Posts Table Pro and get started today:

Posts Table Pro
The easy way to create a searchable, sortable WordPress resource library with filters.

Please share your thoughts...

Your email address will not be published.