AssistCamp

Description

AssistCamp lets you build documentation sites inside WordPress. It works with both Full Site Editing (FSE) and classic themes, ships 11 purpose-built blocks, and provides an adaptive URL structure that adjusts automatically based on whether you have one or multiple knowledgebases.

Key Features

  • FSE and Classic Theme Support – Works with block themes via HTML templates and classic themes via PHP templates. Themes can override templates by placing them in a assistcamp/ directory.
  • Adaptive URL Structure – Single KB mode uses /docs/category/article/. When you add a second knowledgebase, URLs automatically switch to /docs/kb-name/category/article/. A Single Doc Permalink setting picks what follows the docs slug: Plain, Categorized, Knowledge Base, All, or a custom structure built from %knowledge-base%, %category% and %article%. Your default knowledgebase can drop its segment from doc URLs.
  • 11 Custom Blocks – Server-rendered blocks for documentation layout: sidebar navigation, search, breadcrumbs, category grids, table of contents, and more.
  • Live Search – REST API-powered search with real-time dropdown results and configurable result limits.
  • Built-in Caching – Transient-based caching for search results, queries, and term counts with configurable duration.
  • Customizable Slug – Change the base documentation URL from the default /docs/ to any slug you prefer.
  • Setup Wizard – Two-step setup that sets your docs URL and page title, creates your knowledgebase(s) and categories, and can publish a starter doc per category.
  • Customizer Integration – Layout and styling options for classic themes including sidebar position, typography, and search display.
  • Translation Ready – Fully internationalized with a text domain for translation.

Custom Blocks

  1. Sidebar – Collapsible category and article navigation with doc counts
  2. Search Form – Live search with dropdown results and configurable delay
  3. Breadcrumb – Navigation breadcrumbs with customizable separator
  4. Archive Doc List – Filterable documentation list with sorting and pagination
  5. Category Grid – Display categories in a configurable grid layout
  6. Table of Contents – Auto-generated from headings with sticky positioning and smooth scroll
  7. Single Doc Content – Main documentation content area
  8. Doc Navigation – Previous/Next article navigation scoped to category or knowledgebase
  9. Date – Display last modified date with configurable format
  10. Knowledgebase Grid – Display all knowledgebases with doc counts and descriptions
  11. Docs Home – The documentation homepage (title, search and knowledge bases) inside any page, for sites that serve their docs at the root without taking over the homepage. On classic themes, use the [assistcamp_docs] shortcode.

Use Cases

  • Product help centers
  • Software documentation
  • User guides and tutorials
  • Internal knowledge bases
  • FAQ sections

Blocks

This plugin provides 11 blocks.

  • Sidebar Displays a structured list of documentation categories and articles for easy navigation
  • Date Shows last modified date
  • Category Grid Displays categories in a grid layout
  • Knowledgebase Grid Displays all knowledgebases in a grid layout
  • Breadcrumb Shows the current location within the documentation hierarchy
  • Single Doc Content Renders the main documentation content
  • Doc Navigation Previous/Next navigation links within the same knowledgebase
  • Docs Home Shows the documentation homepage — title, search and knowledge bases — while the docs have no homepage of their own.
  • Archive Doc List Lists documentation articles with filtering options
  • Table of Contents Auto-generates TOC from headings
  • Search Form Provides a live search interface for documentation

Installation

  1. Upload the plugin files to /wp-content/plugins/assistcamp, or install through the WordPress plugins screen.
  2. Activate the plugin through the Plugins screen.
  3. Follow the setup wizard to choose your docs URL and create your categories.
  4. Add categories and start writing documentation under AssistCamp in the admin menu.

What Happens on Activation

  • Registers the assistcamp_doc post type and related taxonomies
  • Sets up URL rewrite rules
  • Initializes in single-knowledgebase mode
  • Redirects to the onboarding wizard

FAQ

How does the adaptive URL structure work?

AssistCamp detects how many knowledgebases you have:

  • One knowledgebase: /docs/getting-started/installation/
  • Two or more: /docs/product-name/getting-started/installation/

The switch happens automatically when you create or delete knowledgebases. To choose your own doc URLs, set the Single Doc Permalink under Settings. Every doc URL starts with the documentation slug; after it comes a preset (Plain /docs/installation/, Categorized /docs/getting-started/installation/, Knowledge Base /docs/product/installation/, All /docs/product/getting-started/installation/) or a custom structure such as guides/%category%/%article%. A custom structure without %article% gets it at the end. Old URLs redirect.

Leave %knowledge-base% out of the structure and no URL carries a knowledgebase name. Keep it and enable “Hide Knowledge Base Name in the Default KB URL” to drop that segment for your default knowledgebase, so /docs/product/getting-started/installation/ becomes /docs/getting-started/installation/ while the other knowledgebases keep theirs. Both settings shape single doc URLs only; knowledgebase, category and tag archives keep their own structure.

Does it work with classic themes?

Yes. AssistCamp includes PHP templates for classic themes and HTML block templates for FSE themes. It detects your active theme type and loads the appropriate templates. Classic themes also get Customizer options for layout and styling.

Can I override the templates?

Yes. Place template files in a assistcamp/ directory inside your theme to override the defaults.

Can I change the documentation URL?

Yes. Go to AssistCamp > Settings > General and change the documentation slug. The default is docs. Leave it empty to serve the docs at the root of your site, as /product-name/ or /installation/; a page or post keeps any URL it shares with a doc. With the slug empty, turn on “Take over the homepage” to show your docs homepage as the site’s front page, or leave it off and place the Docs Home block (or the [assistcamp_docs] shortcode on classic themes) on any page.

What caching does it use?

AssistCamp uses WordPress transients to cache search results, documentation queries, and term counts. You can configure the cache duration in settings. Cache is automatically invalidated when content is updated.

Is the REST API public?

Yes, by design. The assistcamp/v1 namespace exposes four read-only routes — knowledgebases, categories, docs and search — without authentication, because the live search and the archive list on the front end call them for logged-out visitors. They return only what a published documentation page already shows: doc titles, excerpts, links, dates, category structure and author display names. Search is rate-limited per visitor. The write routes in the same namespace, used by the setup wizard, the settings page, the organize screen and the dashboard, require an administrator session. If your documentation must not be readable without a session, keep the docs unpublished or restrict the routes with a plugin that gates the REST API.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“AssistCamp” is open source software. The following people have contributed to this plugin.

Contributors

Translate “AssistCamp” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.2.0

  • New: Two-step setup wizard that creates knowledgebases, categories and optional starter docs
  • New: Single Doc Permalink presets or a custom structure; old URLs redirect
  • New: Option to hide the default knowledgebase’s name from its doc URLs
  • New: Serve docs at the site root with an empty slug, optionally taking over the homepage
  • New: Docs Home block and [assistcamp_docs] shortcode to place the docs homepage on any page
  • New: Documentation Page Title setting
  • New: Uncategorized docs get a stable URL, appear on their knowledgebase page and can be ordered in Organize
  • New: Editor category panel scoped to the doc’s knowledgebases; saving waits for a knowledgebase and category
  • New: Unified dashboard with knowledgebase cards and quick actions
  • Fix: Drafts and other unreadable docs stay 404 on the front end
  • Fix: The tag page lists only the docs carrying that tag, and in multi mode it no longer shows the knowledgebase page instead
  • Fix: Dashboard counts, docs home knowledgebase order, single-row drag in Organize, duplicate heading on the tag page
  • Fix: Cache invalidation always bumps the version; rewrite rules flush after term changes; category slug updates no longer loop

1.1.5

  • Compliance: Remove Custom CSS option

1.1.4

  • Security: Validate bookmarkable kb / cat query args once in rewrite rules and read context via get_query_var() instead of raw $_GET
  • Security: Harden settings save AJAX against nested or unexpected POST shapes
  • Security: Taxonomy AJAX handlers return immediately after failed nonce or capability checks; pass explicit POST source into JSON field sanitization
  • Fix: AJAX wrapper uses a stable nonce action string; remove unused GET helper from AJAX class
  • Fix: Organize manager ordering AJAX stops after failed verification (nonce, capability, rate limit) and normalizes IDs with absint()
  • Dev: Apply inline CSS sanitization at wp_add_inline_style() call sites and drop the redundant helper

1.1.3

  • Security: AJAX nonce verification for taxonomy endpoints; drop unused bypass helpers
  • Security: Sanitize settings POST (map_deep) and taxonomy batch JSON inputs
  • Security: Inline CSS for wp_add_inline_style() escaped with wp_strip_all_tags() at output (Customizer, KB grid block)
  • Dev: PHPCS fixes in taxonomies and settings (nonces, sanitized input)

1.1.2

  • Fix add wp_kses() at SVG echo points for PHPCS static analysis compliance

1.1.1

  • Fix output escaping across all block render templates and classic theme templates
  • Fix inline styles converted to wp_add_inline_style() for customizer and knowledgebase grid block
  • Fix transient key prefixing for static analysis compliance
  • Fix SVG output sanitized with wp_kses() in render helper methods
  • Fix build_inline_styles() refactored for visible escaping at output point
  • Remove all phpcs:ignore escape suppression comments

1.1.0

  • Add configurable documentation URL slug
  • Add onboarding wizard with sample content generation
  • Add transient-based caching system
  • Add Customizer options for classic themes
  • Add data cleanup utility
  • Improve search with REST API and rate limiting

1.0.0

  • Initial release
  • 10 custom blocks for documentation layout
  • Adaptive URL structure for single and multi-knowledgebase modes
  • FSE and classic theme template support
  • Live search with real-time results
  • Table of contents with sticky positioning