[WordPress] 外掛分享: Kitgenix Document Manager

首頁外掛目錄 › Kitgenix Document Manager
WordPress 外掛 Kitgenix Document Manager 的封面圖片
全新外掛
安裝啟用
尚無評分
剛更新
最後更新
問題解決
WordPress 6.0+ PHP 8.1+ v1.1.3 上架:2026-03-25

內容簡介

Kitgenix Document Manager 讓管理員能夠上傳文件並分享穩定的連結,無需更改 URL 即可替換文件,方便文件管理與分享。

【主要功能】
• 穩定連結:替換文件時不改變 URL
• 管理員文件表:具搜尋、複製連結功能
• 快速編輯:彈出視窗編輯文件
• 文件分類:創建分類以便組織
• 可見性控制:公開或私有文件
• 版本歷史:選擇性保存文件版本

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.1.3) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「Kitgenix Document Manager」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Kitgenix Document Manager lets admins upload documents and share a stable link like:
/kitgenix-document-manager/{slug}/
When you replace the file, the link stays the same and serves the new version.
You can protect documents with login-only or restricted access rules, issue expiring signed share links for external recipients, schedule go-live/archive/expiry dates, and review view/download analytics without changing the public URL.
Key Features

Stable links: replace the file without changing the URL
Admin documents table with search, copy link, copy share link, and “Open link” actions
Bulk document actions: change visibility, assign categories, or move multiple documents to Trash in one step
Copy shortcode quick action so editors can grab the correct embed snippet without opening another screen
Quick edit modal (popup) for editing documents without leaving the table
Document Categories: create categories and assign documents for easier organization
Visibility controls: Public, Private, or Restricted documents
Granular access rules: limit a document by role, capability, or specific WordPress user IDs
Signed share links: expiring URLs for secure external distribution without creating a user account
Lifecycle controls: available-from, archive-at, and expire-at dates enforced across stable links, shortcodes, and REST metadata
Usage analytics: per-document view/download counts, signed-share activity, last-access timestamps, and 30-day rollups
Private behavior: redirect to login or return 403
Serving mode: Inline (browser) or Download (attachment)
Optional version history per document, including restore/delete for older versions
Bulk version cleanup: delete all old versions for a document (Versions tab + modal action)
Select from Media Library: optionally pick an existing Media Library file instead of uploading
Batch uploads: drag and drop multiple files to create document entries with shared defaults
Shortcode Builder with AJAX-powered document search for generating single-document or multi-document embeds
Document card shortcode with preview image, file type, file size, optional description, and configurable button styling
REST API endpoint for fetching stable document metadata by slug
Site Health test that checks the plugin upload directory exists and is writable
Safer serving: correct Content-Type where possible, security headers, and conditional caching for public docs

Usage

Go to Kitgenix → Document Manager
Add a document (name + optional slug) and upload the initial file
Copy the stable URL from the table and share it
Configure visibility, role/capability/user access, signed share expiry, and optional go-live/archive/expiry dates as needed
To update a document later, use Edit (modal) and upload a replacement file
Copy the signed share link when you need temporary external access without a login
Review per-document analytics to see recent views and downloads
If Keep version history is enabled for that document, older files will appear in the Versions panel (restore/delete)
Use Batch Upload when you need to ingest multiple files at once with shared visibility, category, and versioning defaults
Use bulk actions above the documents table when you need to update visibility, recategorize, or trash several documents together
Use Copy shortcode or the Shortcode Builder when you want to embed document links or cards in content

Categories:

Use the Categories tab to add/edit/delete categories
Assign a category when adding/editing a document

Note: Inline viewing works best for PDFs and images. Office documents (DOCX/XLSX/etc.) typically download because browsers can’t render them natively.
Settings
Settings are available under the Settings tab:

Allowed file extensions
Default visibility (Public/Private/Restricted)
Serving mode:

Inline (browser)
Download (attachment)

Versioning defaults (keep history by default, delete old versions when history is disabled)
Private document behavior (login redirect or 403)
Delete all plugin data on uninstall (optional)

Per-document controls in the Documents screen and native CPT metabox include:

Role, capability, and user ID access rules
Signed share link expiry and generated signed URLs
Available-from, archive-at, and expire-at lifecycle controls
View/download analytics with recent activity summaries

Frontend card options are available under the Frontend tab:

Default document card button label
Button style (Outline or Solid)
Preview image size
File type/file size alignment
Button alignment
Button colors (normal + hover)
Option to open the “View” button in a new tab
Toggle showing file type and file size
Toggle showing document description
Shortcode Builder (generate a shortcode for one or multiple documents)

Frontend Embeds
Use the built-in shortcodes when you want documents to appear directly inside posts, pages, or WooCommerce content:

[kitgenix_document_manager_link slug="my-doc"] for a simple stable link
[kitgenix_document_manager_document slug="my-doc"] for a document card with preview image, metadata, button styling, and optional description
[kitgenix_document_manager_document slugs="doc-a,doc-b,doc-c"] to render multiple cards inline

Security & Caching

Private, restricted, and signed-share document responses are not cached (no-store)
Restricted access can be enforced by login state, role, capability, specific user IDs, or a valid signed share URL
Public documents use conditional caching (ETag/Last-Modified) so browsers/CDNs can revalidate efficiently (including 304 Not Modified responses)
Responses include security hardening headers like X-Content-Type-Options: nosniff
Private documents include X-Robots-Tag: noindex, nofollow

External Services
This plugin includes a shared “Kitgenix hub” component in wp-admin which may fetch publicly available plugin metadata from WordPress.org using the WordPress core plugins_api() function (WordPress.org Plugins API).

When it runs: only in wp-admin (Kitgenix plugin admin pages)
Data sent: plugin slug(s) (no personal data)
Data received: publicly available plugin information (e.g. active installs, ratings)
Caching: responses are cached locally using transients for ~1 day:

kitgenix_hub_wporg_active_installs_v1
kitgenix_hub_wporg_ratings_v1
kitgenix_hub_wporg_media_v1
Developer Notes (Internal Reference)
This section documents internal identifiers used by the plugin (useful for developers, debugging, and advanced users).

Options (Settings)

Option name: kitgenix_document_manager_settings (constant: KITGENIX_DOCUMENT_MANAGER_OPTION_NAME)
Settings group: kitgenix_document_manager_settings_group
Keys (defaults):

allowed_extensions: ["pdf","doc","docx","xls","xlsx","ppt","pptx","txt"] (stored as an array; comma-separated strings are accepted and normalized)
default_visibility: public (public|private|restricted)
serving_mode: attachment (attachment|inline)
keep_version_history: true
delete_old_versions: false
private_behavior: login (login|403)
delete_data_on_uninstall: false
card_button_label: "View"
card_button_style: "outline" (outline|solid)
card_open_new_tab: false
card_show_file_type: true
card_show_file_size: true
card_show_description: false
card_image_size: 96 (px)
card_meta_alignment: "justify" (justify|left|center|right)
card_button_alignment: "center" (justify|left|center|right)
card_button_text_color: "" (hex or blank)
card_button_bg_color: "" (hex or blank)
card_button_border_color: "" (hex or blank)
card_button_hover_text_color: "" (hex or blank)
card_button_hover_bg_color: "" (hex or blank)
card_button_hover_border_color: "" (hex or blank)

Data Model

Custom Post Type: kitgenix_dm_doc
Taxonomy (categories): kitgenix_dm_cat
Capability: manage_kitgenix_document_manager_documents (assigned to Administrators and Shop Managers on activation)

Post Meta

_kitgenix_document_manager_current_attachment_id (current attachment ID)
_kitgenix_document_manager_description (optional document description shown on cards)
_kitgenix_document_manager_visibility (public|private|restricted)
_kitgenix_document_manager_access_roles (array of allowed WordPress roles)
_kitgenix_document_manager_access_capability (optional required WordPress capability)
_kitgenix_document_manager_access_user_ids (array of allowed user IDs)
_kitgenix_document_manager_share_expires_gmt (signed share expiry in GMT)
_kitgenix_document_manager_share_secret (per-document signing secret)
_kitgenix_document_manager_available_from_gmt (go-live time in GMT)
_kitgenix_document_manager_archive_at_gmt (archive time in GMT)
_kitgenix_document_manager_expires_at_gmt (expiry time in GMT)
_kitgenix_document_manager_versioning_enabled (0|1)
_kitgenix_document_manager_versions (array of attachment IDs)
_kitgenix_document_manager_analytics (view/download counters, signed-share counters, and daily buckets)

Stable Link Endpoint

Base path: /kitgenix-document-manager/{slug}/
Query var: kitgenix_document_manager_slug
Signed-share query args: kitgenix_dm_share, kitgenix_dm_expires, kitgenix_dm_sig

REST API

GET /wp-json/kitgenix-document-manager/v1/doc/{slug}

Returns: slug, title, updated (ISO 8601), visibility, schedule_status, stable_url
Protected, scheduled, archived, or expired documents return the same access state the stable link endpoint enforces

Shortcode

[kitgenix_document_manager_link slug="my-doc" label="Download"]

If label is omitted, the document title is used.
Protected, scheduled, archived, or expired documents render nothing when the current visitor cannot access them.

[kitgenix_document_manager_document slug="my-doc" button_label="View"]

Renders a small preview (thumbnail/icon), the document title, file type, file size, and a “View” button.
Protected, scheduled, archived, or expired documents render nothing when the current visitor cannot access them.
Optional attributes: button_style="outline"|"solid", image_size="96", meta_align="justify"|"left"|"center"|"right", button_align="justify"|"left"|"center"|"right", show_description="0"|"1", new_tab="0"|"1", show_type="0"|"1", show_size="0"|"1".
To render multiple documents inline, use slugs instead of slug, e.g. [kitgenix_document_manager_document slugs="doc-a,doc-b,doc-c"].

Filters

kitgenix_document_manager_user_has_document_access

Allows custom access systems to grant or deny a logged-in user after the built-in role/capability/user-ID checks run.

Admin Actions (admin-post.php)
The Document Manager screen uses admin-post actions, including:

kitgenix_document_manager_document_save

Nonce field: kitgenix_document_manager_document_nonce
Nonce action: kitgenix_document_manager_document_save

kitgenix_document_manager_document_delete (nonce query parameter nonce)
kitgenix_document_manager_documents_bulk_action

Nonce field: kitgenix_document_manager_bulk_action_nonce
Nonce action: kitgenix_document_manager_documents_bulk_action

kitgenix_document_manager_documents_bulk_upload

Nonce field: kitgenix_document_manager_bulk_upload_nonce
Nonce action: kitgenix_document_manager_documents_bulk_upload

kitgenix_document_manager_version_restore (nonce query parameter nonce)
kitgenix_document_manager_version_delete (nonce query parameter nonce)
kitgenix_document_manager_versions_delete_all (nonce query parameter nonce)
kitgenix_document_manager_category_save

Nonce field: kitgenix_document_manager_category_nonce
Nonce action: kitgenix_document_manager_category_save

kitgenix_document_manager_category_delete (nonce query parameter nonce)

WordPress action hook names for the above screen actions:

admin_post_kitgenix_document_manager_document_save
admin_post_kitgenix_document_manager_document_delete
admin_post_kitgenix_document_manager_documents_bulk_action
admin_post_kitgenix_document_manager_documents_bulk_upload
admin_post_kitgenix_document_manager_version_restore
admin_post_kitgenix_document_manager_version_delete
admin_post_kitgenix_document_manager_versions_delete_all
admin_post_kitgenix_document_manager_category_save
admin_post_kitgenix_document_manager_category_delete

Admin AJAX:

wp_ajax_kitgenix_dm_search_docs (used by the Shortcode Builder autocomplete)

The (hidden) CPT edit screen metabox uses:

kitgenix_document_manager_upload_initial (nonce field kitgenix_document_manager_file_nonce)
kitgenix_document_manager_replace_file (nonce field kitgenix_document_manager_file_nonce)
Visibility/versioning meta save nonce:

Nonce field: kitgenix_document_manager_meta_nonce
Nonce action: kitgenix_document_manager_save_meta

Hooks, Filters & Assets (Internal)
This list is intended as a comprehensive map of WordPress integration points used by the plugin.

plugins_loaded (bootstrap init)
init (register CPT/taxonomy; add rewrite rules)
Filter: query_vars (adds query var kitgenix_document_manager_slug)
template_redirect (serves stable link responses)
rest_api_init (registers REST route)
admin_menu (registers Kitgenix menu + Document Manager submenu)
admin_head (outputs Kitgenix admin menu icon CSS)
admin_init (registers Settings API option)
admin_enqueue_scripts (enqueues Kitgenix hub CSS; enqueues Document Manager admin assets)
add_meta_boxes (adds the CPT file/visibility metaboxes)
save_post (saves visibility, versioning, access, signed-share, and scheduling meta)
admin_post_kitgenix_document_manager_upload_initial (metabox upload)
admin_post_kitgenix_document_manager_replace_file (metabox replace)
admin_notices (metabox success/error notices via kitgenix_dm_notice)
Filter: manage_kitgenix_dm_doc_posts_columns (adds list table columns)
manage_kitgenix_dm_doc_posts_custom_column (renders list table columns)
Filter: post_row_actions (adds “Replace File” row action)
Filter: site_status_tests (registers Site Health test)
Shortcode: kitgenix_document_manager_link

Other admin UI identifiers:
– Admin list-table column key: kitgenix_dm_actions
– Version restore notice query arg: kitgenix_version_restored=1
Admin asset handles (wp-admin):

Styles:

kitgenix-hub (Kitgenix hub page)
kitgenix-admin-ui (shared Kitgenix admin UI)
kitgenix-document-manager-admin (Document Manager settings screen)

Scripts:

kitgenix-admin-tabs (shared Kitgenix tabs UI)
kitgenix-document-manager-admin (Document Manager admin JS)

Site Health (Internal)

Registers Site Health test ID: kitgenix_document_manager_uploads (checks uploads directory exists and is writable)

Notes (Internal)

Uninstall deletes a legacy transient kitgenix_document_manager_site_health for backwards compatibility, even though v1 does not set it.

延伸相關外掛

文章
Filter
Apply Filters
Mastodon