Legacy Law
The elite block-based WordPress theme for modern legal firms and professional practices.
Quick Start Checklist
- Install and Activate the theme
- Visit the Legacy Law Dashboard
- Customize your brand via Global Styles
Installation Guide
Getting your theme up and running is the first step toward a professional digital presence. We have designed the installation process to be as smooth as possible.
Method 1: The Standard WordPress Upload
This is the most common way to install the theme. It's fast, secure, and handled entirely within your WordPress dashboard.
Method 2: For Advanced Users (WP-CLI)
If you prefer working in the terminal, you can activate the theme instantly using the following command:
Pro Tip: Check Your Requirements
Before you begin, ensure your hosting environment meets these standards for optimal performance:
- WordPress 6.2+: Required for our modern block-based features.
- PHP 7.4 - 8.2: We recommend 8.1 for the best speed and security.
File Structure
Legacy Law follows a modern Block Theme architecture with clear separation of concerns.
legacy-law/
├── assets/ # CSS, JS, and optimized images
├── docs/ # Technical Documentation
├── inc/ # PHP Logic & Administrative functions
│ └── theme-setup.php # Dashboard engine
├── parts/ # HTML Template Parts (Header, Footer, etc.)
├── patterns/ # Custom Block Patterns
├── templates/ # Block Templates (Home, Single, Archive)
├── theme.json # Global Styles & Settings (The Brain)
└── style.css # Main stylesheet (Theme Metadata)
Theme Settings (theme.json)
The theme.json is the definitive configuration file for Global Styles and Settings. Think of it as the "Brain" of your theme where all the rules are defined.
Why this matters?
By using theme.json, we ensure that your site is lightning fast and follows the latest WordPress standards. It allows you to change a color once and have it update everywhere instantly.
Palette Configuration
Below is how we define the signature Legacy Law colors. You can extend this in a child theme to add your own brand colors.
{
"settings": {
"color": {
"palette": [
{ "slug": "primary", "color": "#1B3E3F", "name": "Deep Forest" },
{ "slug": "accent", "color": "#CB9A65", "name": "Legacy Gold" }
]
}
}
}
Layout & Spacing
We use a fluid spacing system. This means your margins and padding will automatically shrink or grow based on the user's screen size, ensuring a perfect layout on both mobile and desktop.
Setting Up Your Theme
Once activated, the Legacy Law Dashboard becomes your central command center. You no longer need to hunt through a dozen different menus to find what you need.
The Theme Dashboard
Found under Legacy Law > Theme Dashboard, this page gives you one-click access to the Site Editor, Logo settings, and navigation management.
Why use the Dashboard?
We built this custom dashboard specifically for legal professionals. It hides the complexity of WordPress and puts the most important tools—like your Logo and Global Styles—right at your fingertips.
Child Themes
To safely extend the theme without losing your changes during updates, we highly recommend using a child theme.
1. Create Folder
Create a new folder in /wp-content/themes/ named legacy-law-child.
2. Style.css
Create a style.css file in your child theme folder with the following content:
/*
Theme Name: Legacy Law Child
Template: legacy-law
Version: 1.0.2
Text Domain: legacy-law-child
*/
3. Functions.php
Create a functions.php file and enqueue the parent styles:
<?php
add_action( 'wp_enqueue_scripts', 'legacy_child_enqueue_styles' );
function legacy_child_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
Block Patterns API
Block Patterns are pre-designed sections that you can "drop" into any page. They save you hours of design work by providing professional layouts out of the box.
Pro Tip
You can find these patterns in the WordPress Editor by clicking the "+" button and selecting the Patterns tab.
Custom patterns are registered via the patterns/ directory. Each pattern is a PHP file with a specific header.
Asset Management
The theme uses a streamlined enqueueing system in functions.php to minimize bloat.
function legacy_law_assets() {
wp_enqueue_style( 'legacy-law-style', get_stylesheet_uri() );
wp_enqueue_script( 'legacy-law-scripts', get_template_directory_uri() . '/assets/js/main.js' );
}
add_action( 'wp_enqueue_scripts', 'legacy_law_assets' );
Localization
The theme is 100% translation ready. The text domain is legacy-law.
To translate, use Poedit or Loco Translate to scan the /languages/ folder and generate .mo and .po files.
Architecture & Styles
Legacy Law is built on the Hybrid Block Architecture, combining PHP-based admin management with FSE templates.
Global Styles (theme.json)
The theme.json file is the "Brain" of the theme. It defines:
- Settings: Color palettes, font families, and layout widths.
- Styles: Default padding, margins, and typography for every core block.
Block Patterns
We’ve included a collection of professional block patterns designed specifically for lawyers.
Hero Banners
High-impact banners with calls-to-action for legal consultations.
Case Grids
Beautiful layouts to showcase your firm's successful results.
Practice Layouts
Detailed sections for describing complex legal services.
Changelog
Version 1.0.2
- Fixed:
a:focus { outline: none }replaced with:focus:not(:focus-visible)to properly support keyboard navigation. - Fixed: Google Fonts moved from CSS
@importtowp_enqueue_style()per WordPress.org TRT requirements. - Fixed: Added
languages/legacy-law.pottranslation file for translation-ready compliance. - Fixed: Hardcoded
href="/"in 404 template replaced withwp:home-linkblock. - Fixed: Removed hardcoded
font-size: 18pxfrom globalaelement. - Fixed: Admin notice strings wrapped in
esc_html__()for translatability. - Fixed: Duplicate
.containerCSS rule merged into single definition. - Fixed:
outline: 0removed from CSS reset; focus styles managed viastyle.css. - Fixed:
h3 { color: white }scoped to dark-background sections only. - Fixed:
wideSizein theme.json set to 1700px (wider than contentSize 1506px). - Fixed:
require_onceincludes moved before class instantiation in functions.php.
Version 1.0.1
- Fixed image rendering in the WordPress editor.
- Added license details and updated headers as per WordPress TRT guidelines.
Version 1.0.0
- Initial Release.
Support
Need help? Our team is here to ensure your law firm's digital presence is perfect.
Premium Support
For any technical issues or customization requests, please contact us via our official support portal.