

The member file explorer — folders, drag-and-drop upload, search and per-file actions
Kistenstein Club Document Portal turns any WordPress page into a private document library and member area — a Nextcloud-style file manager perfect for associations, clubs, sports teams and small organisations that need to share documents with their members.
Members open a familiar file explorer with folders, drag-and-drop upload, PDF preview and search. Every area is protected — either by WordPress role/group or by a single shared password — and files are delivered securely through WordPress so they can never be downloaded by guessing a URL.
kistenstein-club-document-portal text domain; the interface follows each user’s WordPress languageWhen you set up an area in the wizard you pick one of two modes:
In both cases files are delivered through WordPress and the storage folder is protected from direct access, so the chosen rule is always enforced — not just hidden in the listing.
Prefer the block editor? Add the Document Portal block to any page and pick the folder in the sidebar — no shortcode required. The classic shortcodes below work exactly the same.
[kcdp_explorer folder="documents"]
Renders a file explorer for the named sub-folder. The area’s protection mode is configured in the setup wizard.
[kcdp_explorer folder="members" manage_password="1"]
Adds a shared-password manager panel for editors (requires the Password-Protected Page ID to be set under File Portal Advanced).
[kcdp_trash]
Trash view with restore and permanent-delete actions. Visible to administrators only.
[kcdp_audit]
Audit log of all file actions (upload, download, delete, restore …). Visible to administrators only.
[kcdp_trash] to a restricted admin page to manage deleted files.Protected files are blocked from direct download with an .htaccess file written into the upload folder. This is honoured by Apache and LiteSpeed. If you run nginx, add an equivalent rule that denies direct access to the portal’s upload folder (e.g. location ^~ /wp-content/uploads/file-portal/ { deny all; }), so that protected files are only reachable through the plugin.
When a file is deleted, the following metadata is stored in a trash index file on the server: the original file path, the WordPress user ID and display name of the user who deleted it, and the timestamps for deletion and scheduled expiry. The audit log additionally records, per action, the acting user, a timestamp and the request IP address. This data is stored only on your server and is never transmitted off-site.