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.

1. Download your legacy-law.zip file to your computer. 2. Navigate to your WordPress Admin Area. 3. Go to Appearance > Themes and click the Add New button. 4. Click Upload Theme at the top, select your zip file, and hit Install Now. 5. Once the process finishes, click Activate to go live!

Method 2: For Advanced Users (WP-CLI)

If you prefer working in the terminal, you can activate the theme instantly using the following command:

wp theme activate legacy-law

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.

<?php /** * Title: Legacy Law Hero * Slug: legacy-law/hero * Categories: legacy-banners */ ?> <!-- wp:group {"layout":{"type":"constrained"}} --> ... <!-- /wp:group -->

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:

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 @import to wp_enqueue_style() per WordPress.org TRT requirements.
  • Fixed: Added languages/legacy-law.pot translation file for translation-ready compliance.
  • Fixed: Hardcoded href="/" in 404 template replaced with wp:home-link block.
  • Fixed: Removed hardcoded font-size: 18px from global a element.
  • Fixed: Admin notice strings wrapped in esc_html__() for translatability.
  • Fixed: Duplicate .container CSS rule merged into single definition.
  • Fixed: outline: 0 removed from CSS reset; focus styles managed via style.css.
  • Fixed: h3 { color: white } scoped to dark-background sections only.
  • Fixed: wideSize in theme.json set to 1700px (wider than contentSize 1506px).
  • Fixed: require_once includes 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.