Home / Plugins / Resource Port Pro

Prov2.9.5 · updated Sep 30, 2026 · GPL

Resource Port Pro: A document library people can search, and price lists only your dealers can open

Manuals, catalogs, data sheets, certificates and price lists in one library: a visitor types two words, taps the result and the PDF opens. Public documents stay public. Dealer material is shown only to the people who may open it, and its file cannot be reached by a direct link. Sign-in on a page of your site, share links, expiry dates, statistics without personal data. One plugin, one price, no free version to outgrow.

Resource Port Pro: a document library page with a search field, collection tabs including a locked Dealer documents tab, a list of documents grouped by month with type, size and Open and Download buttons, next to the Access side box of a resource in the admin with Who can see it set to certain roles, the protected folder status, a share link and an expiry date
The library: collections as tabs, a list grouped by month, Open and Download on every row. Behind it the Access box of one resource: who may see it, the protected file, a share link, an expiry date.

Live demo: a document library with 13 sample documents on desk9.design (opens in a new tab). Search, filter by collection, type or language, and switch between list and grid.

Does a document area have to be a download manager?

Most WordPress download managers were built around a different question: how many times was this file downloaded, and can we put a form in front of it? What they are bad at is the thing people actually do on a support page: find the right, current document fast, often on a phone, often while standing in front of a customer. A category dropdown does not scale past fifty files. A detail page between the search result and the PDF is one tap too many.

ResourcePort starts from retrieval. Search covers titles, descriptions, collections, types, tags, file names and versions, and German umlauts match however they are typed. The PDF opens in the browser’s own viewer; Download is a second button, not the only way. And when a document is not meant for everyone, the file’s address is not the access control: restricted files live in a protected folder and are delivered only after the check.

Search. Open. Done. And no visitor is tracked: no IP address, no user, no cookie in the statistics, no request to an external service while people use the library.

Who may see what, decided once per collection

Every collection and every resource has one setting: everybody, signed-in people, or certain roles. Sub-collections and resources follow their collection unless they say otherwise. The rule is enforced everywhere, not just hidden in the list: library, site search, resource pages, REST API, feeds, sitemaps (WordPress, Yoast SEO, Rank Math), Open, Download and the file itself. A person without access does not even learn that the document exists; a direct link answers “not found”.

Files of restricted resources move to a protected folder that refuses direct access. The plugin checks whether your web server honors it (Apache and LiteSpeed through .htaccess, IIS through web.config) and shows the one rule to add on Nginx. Delivery goes through X-Sendfile or X-Accel-Redirect where available, with range requests for large PDFs. A share link hands one file to someone without an account, for 7, 30 or 90 days, and one click revokes every link ever sent.

Dealers sign in on a page of your site, not on wp-login.php: with a one-time link sent by email or with their password. Visitors can request access there; you approve or decline in the admin, and approval creates the account, gives it ResourcePort’s own role and sends a welcome email. The library’s header carries the sign-in button in your words (“Dealer login”), and a Sign In Button block puts it into the site header next to the navigation. Nobody sees the WordPress login.

The resource library with a header text, a Dealer login button, the search field, collection tabs with counts, type and language filters, the sort menu and the list and covers toggle, and the documents grouped by month with type icon, title, collection, description, language, version, file size, date and Open and Download buttons.
The library: search, collections as tabs, filters, and every document with Open and Download.
The resource edit screen with the File panel holding the PDF, Replace file, View file and a field for a file on another site, language, version, download filename and what a click does, the description, and the Access and lifetime box with Who can see it set to Logged-in users, an expiry date and a share link.
One resource: the file, its details, and the Access and lifetime box with Who can see it, an expiry date and a share link.

How it works

Collections are the structure, and the access rule

Collections form a hierarchy: products, brands, departments, locations, whatever your documents are sorted by. Resource types (manual, data sheet, price list) and tags classify alongside, and each resource can carry a document language and a version. Who can see it is set on the collection; a "Dealer documents" collection opened for signed-in people shows up as a locked tab for visitors and as a normal one for dealers.

The Edit Collection screen with name, slug, parent collection, description and the setting Who can see it with the note that resources in this collection and its sub-collections follow it.
A collection: Who can see it, inherited by its sub-collections and resources.
The Access tab of the settings: send visitors without access to the sign-in page, hide the WordPress toolbar for accounts that cannot edit content, the sign-in page, sign-in links by email, access requests and the role of approved requests.
The Access tab: sign-in page, sign-in links, access requests and the role they get.

Forty PDFs in one pass

Bulk Upload takes many files at once and makes one resource per file: titles from the file names, collection, type, language, tags and status set for the whole batch, and a failed file never stops the rest. One resource at a time uses a classic form with the file panel right under the title. Coming from Download Monitor? The import shows a preview first, runs in small batches, keeps members-only downloads restricted and skips what is already there when you run it again.

The Bulk Upload screen with the fields for the whole batch, collection, resource type, status, language and tags, and the drop zone Drop files to upload.
Bulk Upload: set collection, type, language and tags once, drop the files.
The Resources list in the WordPress admin with columns for title, collection, type, format, size and date.
The Resources list with collection, type, format and size.

One block for the library, one for a single document

The Resource Library block shows the whole library or part of it: one or several collections, a type, tags, or documents chosen by hand in your own order. Collections as tabs with counts, a list grouped by month or covers as the grid view, a details panel per document, filters by collection, type, tag and language, sorting, numbered pages or Load more. Every filter state is a URL, and it all works without JavaScript. The Single Resource block places one document in any post, as a card or as a button, visible only to people who may open it.

The library in the covers view: one cover per document with its type, a New badge, the title, file size and language, and the collection, date and buttons under each cover.
The same block as covers: one per document, with the buttons under it.
The sign-in page with a dark panel reading Your documents, in one place, and a form with the tabs Sign in and Request access, an email field, the button Email me a sign-in link and the link Use a password instead.
The sign-in page on your site: a link by email, a password, or a request for access.

Lifetime, freshness and the numbers

A price list gets an expiry date and disappears for visitors on that day, optionally moving to draft; an email reminds you before. New and Updated badges mark recent documents. A weekly "New for you" email tells the people who asked for it what is new in the collections they may open. Statistics count uses, opens and downloads per document and day for 7, 30 or 90 days or 12 months, compared with the period before, with the most used documents, the busiest collections and a CSV export. No IP address, no user, no cookie; crawlers and prefetches are not counted.

The Statistics screen for 30 days: tiles for uses, opened, downloaded and resources used with the change against the period before, a bar chart of uses per day, the most used resources and the busiest collections.
Statistics without personal data: uses per day, the most used documents, the busiest collections.

Who uses it

Manufacturers with a dealer network

Public manuals and data sheets for everyone, price lists and dealer material behind a sign-in. Dealers request access on your site, you approve, and the price list they open is the current one because the old one expired on time.

Distributors and franchises

One library, many partners: collections per brand or region, opened for the roles that need them. The statistics show which documents partners actually use, without storing who they are.

Associations and member organizations

Public statutes and press material next to member-only minutes and templates. A member signs in with a link sent by email, no password to remember, no WordPress toolbar to explain.

Internal portals and technical support

Service technicians standing in front of a machine type two words on a phone and open the manual in the browser. Certificates and internal procedures are there too, for signed-in staff only.

Plans

There is one plugin and it has every feature on this page. The plans differ in one thing only: how many sites the license key activates.

1 site

€99/year

for 1 site

All Pro features, one year of updates and support.

Get Pro →

5 sites

€199/year

for 5 sites

All Pro features, one year of updates and support.

Get Pro →

Unlimited

€399/year

unlimited sites

All Pro features, one year of updates and support.

Get Pro →

14-day money-back. Renews yearly at the same price, cancel anytime. Keeps working after expiry, updates and support stop. The plugin is GPL: what you buy is a year of updates and support for the sites in your plan, and the license key that delivers them.

What it does not do

This is the part most plugin pages leave out.

It is not a shared drive. ResourcePort publishes documents you put into it. There is no folder sync, no versioned editing, no comments on files and no external storage yet. Files live in your media library and, when restricted, in the protected folder next to it.

It does not gate downloads behind a form. No name-and-email wall in front of a public PDF. A document is either public or for signed-in people; the way to a document for a dealer is an account, not a form on every file.

No full-text search inside PDFs. Search covers everything you and the file name say about a document: title, description, collections, types, tags, version. It does not read the pages of the PDF.

Files on other sites stay as protected as that site makes them. A resource may link to a file elsewhere. Resource Port Pro hides that link from people without access; the file itself is out of its reach.

Protection depends on your web server. Apache, LiteSpeed and IIS honor the protected folder out of the box. Nginx needs one rule, which the settings screen shows you. Until the check passes, the plugin says so on every ResourcePort screen.

Statistics are counters, not analytics. Uses per document and day, compared with the period before. No visitor profiles, no funnels, no IP addresses, and the numbers are removed after the period you set.

It ships in English and German. Every string is translatable, and WPML and Polylang are supported with a model that keeps one resource per document. The interface arrives in English with a German translation included.

Why not a download manager, or a shared drive?

A download manager counts downloads and puts a shortcode on every file. It knows nothing about a dealer, a role or a price list that must not be public, and a hidden file with a guessable address is not protection. A shared drive knows access, but it is not your website: no search on your page, no library in your design, no sign-in in your words, and every partner needs an account with a provider you do not control.

Resource Port Pro is the library inside WordPress with the access model of a portal: collections decide who sees what, the file is delivered only after the check, dealers sign in on your site, and the statistics tell you what is used without telling you who. Documents stay ordinary posts and files in your media library, so nothing is locked into the plugin.

Set up in three steps

01

Install and activate

Upload the ZIP from your account under Plugins, Add New, Upload Plugin, and activate it. The license key arrives by email and goes into ResourcePort, Settings, License; from then on updates arrive inside WordPress. Every feature works before the key is in.

02

Collections, access, documents

Under Settings, Access check that the protected folder is closed. Create your collections and set Who can see it on the ones that are not for everyone. Then Bulk Upload: drop the files, set collection, type and language for the batch, publish.

03

Place the blocks

Put the Resource Library block on a page (the welcome notice creates one for you) and the Resource Sign-in block on a sign-in page. Set the accent color under Settings, Library, and add the Sign In Button to your site header if dealers should find it there.

Pro only, and what that means

Most desk9 plugins have a free version on wordpress.org and a Pro that adds to it. This one does not: it is the whole plugin, sold once, with nothing held back for a higher tier. What you pay for is a year of updates and support for the sites in your plan, and the license key that delivers them inside WordPress.

The plugin is GPL, like everything from desk9. It never contacts our servers on behalf of a visitor; the only calls to desk9design.com are the license check and the update check from your admin, with the product name, the key, your site URL and the installed version. After the year the plugin keeps working; only updates and support stop until you renew. If something is missing, the ticket form is one click away in your account.

Screenshots

Search and the details panel, the header as a bar, the Single Resource block, the library as a signed-in dealer sees it, the phone, the settings and the license tab.

The library after searching for manual: three matching documents, the collection tabs with their counts, a Clear filters link and Best match as the sorting.
Search: two words, and the tabs count what matches.
The details panel of a document sliding in from the right: a preview of the PDF, the New badge, title, description, Also available in with the German version, collection, type and language, and Open PDF, Download, preview and copy link buttons.
The details panel: preview, facts, the other language, Open and Download.
The library with its header arranged as a bar: the text above, a bar with a lock icon, the note Dealer documents appear after logging in and a Dealer login button.
The header as a bar, with the note for dealers and the button.
The Single Resource block as a card with the type icon, title, type, file size, language, version, description and Open PDF and Download buttons, and as a single button reading Download the catalog.
The Single Resource block: a card, or just a button.
The library on a phone: header text, Dealer login button, search field, collection chips, type and language filters, the sort menu and the first documents with type icon, badges and a download button.
On a phone: chips, filters and the list.
The details sheet on a phone with the preview, New badge, title, description, the German version under Also available in, the facts and the Open PDF, Download and Copy link buttons.
The details as a sheet on a phone.
The library for a signed-in dealer: the header shows her initials, name and role and a Sign out button, the text reads Your dealer documents are included, and the count is one document higher.
Signed in as a dealer: name and role in the header, the dealer documents included.
The Settings screen with the tabs Library, Resources, Access, Statistics, License and Advanced, open on Library: accent color, default view, covers on phones, resources per page, pagination, the columns of the list and the New and Updated badges.
One settings screen with six tabs; here the Library tab.
The License tab of the settings with the license key field and the Activate license button.
The License tab: paste the key, activate, done.

Frequently asked questions

Are restricted files really protected?

Yes, when your web server honors the protected folder. Apache and LiteSpeed do so with the .htaccess file the plugin creates, IIS with web.config. Nginx does not read these files: the Access tab of the settings tests this and shows the one rule to add. Until the check passes, a warning is shown on the ResourcePort screens.

Can a signed-in user without access see that a document exists?

No. Restricted documents are left out of every list, count and search for people without access, and a direct link answers "not found".

What about preview images?

A featured image you set as preview stays a normal, public image. When the protected file itself is an image, the library shows a type icon instead of a thumbnail, so the image is never exposed.

How do dealers get an account?

They ask for one on the sign-in page. You approve or decline under ResourcePort, Access requests; approval creates the account with ResourcePort's own role ("Dealer" by default) and sends a welcome email. From then on they sign in with a one-time link sent by email or with a password, and they never see the WordPress toolbar.

Why does a PDF open instead of downloading?

Most people want to read a document, not save it. PDFs open in the browser's viewer, images open in a preview, archives download, and every resource also offers a Download button. Change the default under Settings, Resources, or per resource.

Can I show only part of the library on a page?

Yes. The block and the shortcode can be limited to one or several collections, a type, tags, or documents chosen by hand in your own order. Visitors can narrow that view further but never widen it. The Single Resource block places one document anywhere.

Does it work with WPML or Polylang?

Yes. A resource stays one document for all languages with its own document language; a German and an English price list are two resources, linked as "Also available in". Library and sign-in pages lead to their translation, names of collections and types are translated in String Translation, and emails go out in the language of the person who reads them.

Which personal data do the statistics store?

None. Each open or download adds one to a counter for that document and day. No IP address, no user, no cookie. The plugin suggests a sentence for your privacy policy.

Does it work with the classic editor or a page builder?

Yes. [resourceport_library] renders the library, [resourceport_resource] a single document, [resourceport_sign_in] the sign-in page and [resourceport_sign_in_button] the button, each with the options of its block.

Where is the data stored, and how do I move it?

Resources are a post type, collections, types and tags are taxonomies, files are attachments in your media library or in the protected folder next to it. Everything travels with a normal WordPress export and a copy of the uploads folder. On uninstall you choose whether resources and statistics stay or go.

What is the difference to the CodeCanyon edition?

The same plugin. On desk9design.com you get a license key and updates inside WordPress through the License tab; on CodeCanyon updates come through Envato and there is no license tab.

What happens when my subscription expires?

The plugin keeps working exactly as configured. Updates, new features and support stop until you renew. No penalty, no data loss.

How many sites can I use it on?

As many as the plan you pick. A staging site never counts. You can move a license between sites from your account.

Can I upgrade to a bigger plan later?

Yes, from your account. You pay the difference for the rest of the year.

What if it is not for me?

14-day money-back guarantee, no questions asked. Renewals included.

Changelog

v2.9.5 · Sep 30, 2026The Statistics and Settings screens load the plugin stylesheet again: the chart, the number tiles and the settings tabs had lost their styling.
v2.9.4 · Sep 30, 2026License and updates now connect through the new product page.
v2.9.3 · Sep 30, 2026Initial release: document library with protected files, dealer sign-in and access requests, WPML ready.

More from desk9

Video Guides Pro Product videos and manuals grouped by product, with nothing loaded before a click.

Partner Map Locator The dealers who sign in here, on a map that contacts nobody until you say so.

All desk9 plugins Maintained plugins, most of them free.

Your documents, easy to find. Your price lists, only for the people who may open them.

Your subscription is what funds the next release.

Pro is the whole plugin

No free version to install first. Upload the ZIP from your account, activate it, paste the license key under ResourcePort, Settings, License. Every feature works before the key is in; the key brings the updates.

license key by email / updates inside WordPress

At a glance

Pro
Version2.9.5
Last updateSep 30, 2026
Requires WP6.5+
PHP7.4+
LicenseGPLv2 or later