Document Manager
Manage files and URLs and link to them from anywhere on your site.
by Phil Hoyt · github.com/philhoyt/document-manager · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/philhoyt/document-manager/releases/download/v1.1.0/ph-document-manager.zipReadme
=== Document Manager === Contributors: philhoyt Tags: documents, files, redirects, media, links Requires at least: 6.3 Tested up to: 7.0 Requires PHP: 7.4 Stable tag: 1.1.0 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html
Manage files and URLs and link to them from anywhere on your site.
== Description ==
Document Manager stores files and URLs as posts with their own permalinks. Link to a document from anywhere on your site, and when the destination changes, every link on the site updates automatically.
Links placed anywhere on the site — block editor, button blocks, navigation menus — always resolve to wherever the document currently points. Replace a file or update a URL once, and every link that references that document follows automatically.
- File documents — Upload via the media library. The permalink redirects to the file's direct URL.
- URL documents — Point to any external URL. Useful for Google Drive files, Dropbox shares, or any link that needs to be managed centrally.
- Revision history — Every destination change is recorded. Restore any previous version with one click.
- Required field validation — Documents without a valid destination stay at draft with an admin notice. Publishing an incomplete document isn't possible.
- No custom block needed — The core link picker discovers documents natively via REST.
- SEO clean — Excluded from WordPress core, Yoast, and RankMath sitemaps. Redirect responses include
X-Robots-Tag: noindex, nofollow. - Document categories — Hierarchical taxonomy for organizing by department, project, or type.
- Configurable slug — Change the permalink base from the settings page. Rewrite rules flush on save.
- Capability-based access —
manage_ph_documentsandupload_ph_documents, assigned to administrators and editors on activation.
== Installation ==
- Upload the
ph-document-managerfolder to/wp-content/plugins/. - Activate via the Plugins screen.
- Go to Documents in the admin sidebar.
== Frequently Asked Questions ==
= What happens if I delete a file from the media library? =
The permalink falls back to the configured 404 fallback URL, or returns a 404 if none is set. Files are never deleted automatically.
= Can I change the permalink slug? =
Yes. Go to Documents → Settings. Rewrite rules flush automatically on save.
= Who can manage documents? =
Administrators and editors by default. manage_ph_documents covers full CRUD, upload_ph_documents covers file upload. Both can be assigned to any role.
== Changelog ==
= 1.1.0 =
- Add: Documents now appear in the block and classic editor link pickers. This was the plugin's advertised behaviour but never worked — the post type was registered private, and both link pickers only search public post types.
- Add: Sorting the Documents list by the Type column. The column header was clickable but did nothing.
- Add: Screen reader announcements when copying a document link and when selecting or removing a file.
- Fix: Restoring a revision failed with a blank error page. The handler was never registered, so WordPress returned an empty 400 response.
- Fix: Saving a document that had revision history silently discarded the change and redirected to the posts list.
- Fix: Removing a file from a document dropped it from revision history instead of archiving it.
- Fix: Publishing a document with no destination could cut the save short, skipping work other plugins do on save.
- Change: The documents REST endpoint now requires an editing capability. Anonymous visitors could previously list every document and read its underlying file URL. Document permalinks are unaffected and can still be shared publicly.
- Change: The unused upload_ph_documents capability is no longer granted. Nothing ever checked it. It is still removed on uninstall for existing sites.
- Change: Lowered the minimum WordPress version to 6.3 to match readme.txt. Nothing in the plugin required 6.7.
- Remove: The unused document capability setting, which had no field on the settings screen and was never read.
= 1.0.0 =
- Initial release.
Read the full README on GitHub →