Skip to content

Wikit Framework Documentation ​

Wikit is WDG's internal WordPress development framework that provides a robust foundation for building custom WordPress sites. It includes core functionality, reusable Gutenberg blocks, and established patterns for common development tasks.

Framework Components ​

wikit-core ​

The foundational PHP classes and utilities that power the framework:

  • PostType - Base class for registering custom post types
  • Taxonomy - Base class for registering custom taxonomies
  • PostTypeTerm - Associates taxonomies with post types
  • Breadcrumb - Breadcrumb navigation system
  • Additional utilities and helpers

wikit-theme ​

Contains 50+ custom Gutenberg blocks and the theme foundation:

  • Located in /wikit-theme/block-editor/blocks/
  • Each block has its own directory with block.json, styles, and scripts
  • Blocks follow WordPress block API standards

wikit-app ​

The application layer where site-specific functionality is implemented:

  • Custom post types (in src/PostType/)
  • Custom taxonomies (in src/Taxonomy/)
  • Site-specific business logic

wikit-facets ​

Advanced faceted search and filtering system for WordPress queries.

wikit-events ​

Events package: the event post type, add-to-calendar services (iCal, Google, Office 365), and the event block-editor blocks.

wdg-mu ​

The shared WDG mu-plugins collection. Not a Wikit package, but core WDG code that ships across client sites: security headers, login and REST hardening, two-factor enforcement, cron running, host-specific shims, and similar single-file drop-ins. It is cloned into repositories/ and indexed into the same wdg_framework collection as the Wikit packages.

Project Architecture ​

In the WDG development environment, Wikit serves as the shared foundation across all projects:

  1. Wikit Framework - Core files are shared across all projects
  2. Project Repositories - Each client project can:
    • Extend Wikit's base classes
    • Add custom post types and taxonomies
    • Override or extend blocks
    • Add project-specific functionality

Key Concepts ​

Inheritance Pattern ​

Projects extend Wikit functionality rather than modifying core files:

php
namespace WDG\App\PostType;

use WDG\Core\PostType;

class CustomType extends PostType {
    // Project-specific implementation
}

Repository as wp-content ​

Projects can use their entire repository as the wp-content directory, allowing version control of themes, plugins, and uploads.

Documentation Sections ​

Core Patterns ​

Coding Standards ​

Security ​

Components ​

Development ​