About this plugin
LexNova Content Types is a companion plugin for the LexNova WordPress theme. It registers the custom post types, taxonomies and Gutenberg blocks the theme’s templates rely on, and adds a Demo Import screen so a fresh install can be populated with sample content in one click. Custom Post Types Practice Areas ( lexnova-services ) — a law firm’s service/practice area listings Case Studies ( lexnova-case-studies ) — case results and outcomes Attorneys ( lexnova-attorneys ) — attorney/team profiles Demo Import / Export Found under Appearance → Demo Import . Import Demo Content — imports demo pages, practice areas, case studies, attorneys, navigation menus, and theme settings using the official WordPress Importer under the hood. Export Demo Content — generates a scoped demo package in the WordPress uploads directory containing selected LexNova content, referenced media, and presentation settings. Delete Demo Content — removes only objects recorded in the LexNova import ownership manifest and safely restores unchanged settings. Requirements Contact Form 7 is used by the demo contact forms. The WordPress Importer is bundled internally and used automatically for demo import — no separate install needed. This plugin is intended to be used together with the LexNova theme; the custom post types and blocks it registers remain available after switching themes. External services The plugin itself does not transmit analytics, telemetry, account details, or site data to the plugin author. Demo import runs only after an administrator explicitly starts it. The optional demo content contains a Google Maps embed. If an administrator imports the demo and leaves that map enabled, a visitor’s browser connects directly to Google when viewing the map and may send the visitor’s IP address, browser details, and page URL. Google’s terms and privacy policy apply. The map can be removed or its URL cleared in the block editor without affecting other plugin features. Social sharing links open Facebook, Instagram, LinkedIn, or X only when a visitor chooses a link. No request is sent to those services merely by displaying the links. Privacy LexNova Content Types does not collect or transmit telemetry or personal data. Custom post content and settings remain on the WordPress site. Scoped demo exports are written below the site’s uploads directory and are controlled by administrators; administrators should review and remove exports when no longer needed. Third-party resources WordPress Importer – WordPress contributors – GPLv2 or later – https://wordpress.org/plugins/wordpress-importer/ Tailwind CSS output used by plugin-owned blocks – Tailwind Labs, Inc. – MIT License – https://tailwindcss.com/ Lucide icons – Lucide contributors – ISC License – https://lucide.dev/ Regenerator Runtime – Facebook, Inc. and contributors – MIT License – https://github.com/facebook/regenerator Laravel Mix (build tool) – Jeffrey Way – MIT License – https://github.com/laravel-mix/laravel-mix The WordPress.org release package intentionally excludes local exported uploads, stock/demo photographs, AI-generated images, and nested theme archives whose redistribution provenance is not documented. Administrators can supply their own media or create a scoped export from content they are authorized to redistribute. Source code & build The human-readable source code for the Gutenberg block scripts shipped in blocks-runtime/js/ is included in this plugin under blocks-runtime/src/ . Each block directory contains the original index.js , edit.js , and save.js ES-module files before bundling and minification. Build tool: Laravel Mix (webpack wrapper) — the build configuration lives in the companion LexNova theme ( webpack.mix.js ). Build dependency: blocks-runtime/src/lucide-icons.json — icon data imported at build time by the hero, practice-areas, and why-choose-us block editors. To regenerate the compiled block scripts: Install the LexNova theme (which contains webpack.mix.js and package.json ). Run npm ci inside the theme directory. Run npm run production — Laravel Mix compiles each resources/blocks/*/index.js entry point and copies the output to the plugin’s blocks-runtime/js/ directory. The @wordpress/* packages ( @wordpress/blocks , @wordpress/block-editor , @wordpress/components , @wordpress/i18n , @wordpress/element , @wordpress/data ) are treated as externals and resolve to the global wp.* objects at runtime — they are not bundled into the output.