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.

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 ProjectName\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

Released under the MIT License.