Documentation
Documentation provides sound structures and tools to maintain a Documentation Management System based on WordPress. Leveraging WordPress’ framework and internal structures, the system provides a completely new section to manage documents independently from normal posts or pages. Documents are complemented by their dedicated document categories and document tags, which allows to keep the documentation structures separate from the more blog-oriented posts or CMS-like pages. It can be used to build a dedicated documentation site, a subsite for documentation in a multisite network or other creative deployments. See our documentation portal for an example where we use the system to maintain a considerable amount of documentation for our tools. Simple to use, yet powerful to maintain even thousands of documentation pages. Documents can be attached to products in WooCommerce using WooCommerce Documentation. Widgets The plugin provides several widgets that are used to display document links: Document Hierarchy : facilitates navigating and viewing the document hierarchy Document Children : displays links to children of documents Documents : to display sets of document links Document Categories : to display links to document categories Shortcodes The following shortcodes are available: [documentation_documents] Lists documents, also useful to list documents in a category. [documentation_categories] Renders a list of links to the document categories. [documentation_hierarchy] Provides a means to navigate the documentation structure, equivalent to the Document Hierarchy widget. [documentation_list_children] Lists the children of a document like the Document Children widget. [documentation_search_form] Renders a dynamic search form. Use Search Live for a more flexible search form. Recommended Useful Additions You should have a look at these tools. They will help you get the most out of this Documentation Management System. WooCommerce Documentation This extension for WooCommerce and the Documentation plugin for WordPress allows to link documentation pages to products and display them automatically on the product pages. Groups Groups is designed as an efficient, powerful and flexible solution for group-oriented memberships and content access control. Use it to control who can view documents and more. Groups Restrict Categories An extension based on Groups, provides access restrictions for categories and tags, custom post types and taxonomies. Very useful to restrict whole sets of documents based on their document categories or tags. Search Live Search Live supplies effective integrated live search facilities and advanced search features. Makes it really easy to find the desired documents. Widgets Control Widgets Control is a toolbox that features visibility management for all widgets, sidebars, sections of content and content blocks. This is very useful to show content and widgets in context. Widgets Control Pro Widgets Control Pro is the advanced version of the Widgets Control toolbox that features visibility management for all widgets, sidebars, sections of content and content blocks. With its additional features, it is even more useful to show document-specific content and widgets, including the options to show widgets on documents and related pages only. Decent Comments Decent Comments shows what people say. If you want to show comments along with their author’s avatars and an excerpt of their comment, then this is the right plugin for you. Use it to show comments posted on documents only or including them. Open Graph Protocol Framework The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to allow any web page to have the same functionality as any other object on Facebook. This will automate the process of adding basic and optional metadata to documents. Documentation Please refer to the documentation pages for details. The site uses the Documentation plugin and is a good example of deployment, with an extensive set of documentation sections and pages. Feedback Feedback is welcome! If you need help, have problems, want to leave feedback or want to provide constructive criticism, please do so here at the Documentation plugin page. Please try to solve problems there before you rate this plugin or say it doesn’t work. There goes a lot of work into providing you with free quality plugins! Please appreciate that and help with your feedback. Thanks! Twitter Follow @itthinx on Twitter for updates on this and other plugins.
Strands PDF Embed
PDF Embed renders PDFs directly in your pages using PDF.js: no plugins for the visitor, no Google Docs iframes, no third-party trackers. PDF.js is bundled inside the plugin and served from your own site, so no third-party requests are ever made. Built by Fren at Strands Services Ltd. Support: fren@strands.gg. Features Continuous vertical scroll across all pages, with lazy rendering via IntersectionObserver Page navigation, zoom, fit-to-width, download, and print controls (these toggle which buttons render in the toolbar; they’re a UI choice, not access control; see the Security section) Global sizing modes: Responsive, Fixed, or Fixed Aspect Ratio (A4, Letter, 16:9, 4:3, 1:1, or custom) Light, Dark, or Auto color mode (Auto follows the visitor’s OS/browser prefers-color-scheme) Per-mode color customization (with alpha/transparency support on the Page Shadow field), plus a safely-scoped Custom CSS field for power users Live preview on the settings page Editors: Gutenberg block, Classic Editor TinyMCE button, Enfold ALB element, Elementor widget, WPBakery element, and [pdf_embed] shortcode Media Library picker filtered to PDFs only Translation-ready (English + Hungarian included) Theme-overridable viewer template Shortcode [pdf_embed id="123" sizing="responsive" download="yes" navigation="yes" zoom="yes"] All attributes are optional except id. Per-embed attrs override the global defaults on the Sizing and Appearance tabs. Security Frontend visitors have no attack surface: no REST endpoints, no AJAX handlers, no form submissions. Shortcode attribute sanitizers reject any value outside strict whitelists (units, hex/rgba colors, W:H ratios). Attachment access is gated by current_user_can('read_post', $id); contributors cannot embed other users’ private PDFs. pdfjsLib.getDocument() is called with isEvalSupported: false to prevent font-based JS execution. All output is routed through WordPress’s escape functions (esc_html, esc_attr, esc_url, wp_kses, wp_print_inline_script_tag). The release pipeline includes a check that fails the build if a phpcs:ignore for the output-escaping sniff ever appears in shipped code. Canvas size is clamped to ~268M pixels per page. Page count is capped at 2000 per embed. Both prevent client-side DoS from hostile PDFs. PDF.js ships inside the plugin and loads only from your own domain; no third-party servers are contacted. Debug information (attempted mime, extension) is only emitted when WP_DEBUG is on. Content-Security-Policy: the plugin emits one inline (appearance CSS variables) and one inline (PDF.js loader). The script tag is rendered via wp_print_inline_script_tag(), so a CSP supplied through the wp_inline_script_attributes filter is applied automatically. On sites without wiring, strict CSP needs style-src 'unsafe-inline' and script-src 'unsafe-inline' for the viewer to boot. Toolbar toggles are UI affordances, not access control. The shortcode’s download, navigation, and zoom attributes (and the matching options in the editors) control which buttons appear in the viewer toolbar; they don’t restrict what the visitor’s browser can do once the page is rendered. PDF.js needs the entire PDF in the browser to display it, so the bytes are always reachable from the browser’s network/devtools panel by anyone who can see the page. The pdfEmbedGetInstance(container) JS handle also exposes the underlying viewer methods regardless of which buttons render. If you need to keep a PDF away from a viewer, gate the post behind WordPress’s permission system (private/draft, role-restricted, members-only plugin). Don’t rely on the toolbar toggles. Third-party libraries The plugin bundles minified copies of these libraries under assets/js/vendor/. Full un-minified source is available from each project’s repository at the pinned version listed below: PDF.js 5.7.284 (pdf.min.js, pdf.worker.min.js) — Apache 2.0 — https://github.com/mozilla/pdf.js/releases/tag/v5.7.284 wp-color-picker-alpha 3.0.4 (wp-color-picker-alpha.min.js) — GPL-2.0-or-later — https://github.com/kallookoo/wp-color-picker-alpha Phosphor Icons (inline SVG, Regular weight) — MIT — https://github.com/phosphor-icons/core The plugin’s own PHP, JS, and CSS is shipped as-is without minification so the deployed code is also the source.