Code Area(s) Impacted
Is your code refactoring request related to a problem?
The metadata and registration patterns of accommodation-related blocks in the Tour Operator plugin lack consistency, reducing discoverability and editor integration. Blocks such as accommodation-related-accommodation, accommodation-related-destination, accommodation-related-tour, and accommodation-type have missing or inconsistent fields (description, keywords, icons, textdomain, supports, example attributes). This leads to poor user experience and incomplete WordPress.org integration for these blocks.
Describe the Refactoring / Review Task
Scope:
- Refactor metadata and registration for the following blocks in the
src/blocks/ directory:
accommodation-related-accommodation
accommodation-related-destination
accommodation-related-tour
accommodation-type
- Use
src/blocks/icons/block.json as metadata template for consistency.
- Add/standardize essential fields (description, keywords, icon, textdomain, supports, attributes, example).
- Document block.json limitations for block variations (certain attributes must be handled in JS registration).
- Modularize work: one PR per block for clarity and changelog traceability.
- Use Copilot for suggestions, ESLint and wp-scripts for code quality.
- Adhere to LightSpeed Coding Standards.
Use Case
Beneficiaries: WordPress users, plugin developers, content creators. This refactor improves block discoverability, user experience, onboarding, and compliance with WordPress and repository standards.
Alternatives Considered
- Manual, unstructured metadata changes.
- Relying only on PR reviews for metadata issues.
Additional Context
Example Code Snippets
// Before: Block variation with incomplete metadata
wp.blocks.registerBlockVariation("core/group", {
name: "lsx-tour-operator/accommodation-related-accommodation",
title: "Accommodation"
});
// After: Standardized metadata
wp.blocks.registerBlockVariation("core/group", {
name: "lsx-tour-operator/accommodation-related-accommodation",
title: "Accommodation",
description: "Display accommodation details.",
keywords: ["accommodation", "lodging", "stay"],
icon: "building",
category: "lsx-tour-operator",
attributes: { metadata: { name: "Accommodation" } },
example: { attributes: { type: "Hotel" } },
supports: { color: true, spacing: { margin: true, padding: true }, typography: true }
});
Refactoring / Review Checklist
References
Code Area(s) Impacted
Is your code refactoring request related to a problem?
The metadata and registration patterns of accommodation-related blocks in the Tour Operator plugin lack consistency, reducing discoverability and editor integration. Blocks such as
accommodation-related-accommodation,accommodation-related-destination,accommodation-related-tour, andaccommodation-typehave missing or inconsistent fields (description, keywords, icons, textdomain, supports, example attributes). This leads to poor user experience and incomplete WordPress.org integration for these blocks.Describe the Refactoring / Review Task
Scope:
src/blocks/directory:accommodation-related-accommodationaccommodation-related-destinationaccommodation-related-touraccommodation-typesrc/blocks/icons/block.jsonas metadata template for consistency.Use Case
Beneficiaries: WordPress users, plugin developers, content creators. This refactor improves block discoverability, user experience, onboarding, and compliance with WordPress and repository standards.
Alternatives Considered
Additional Context
src/blocks/icons/block.jsonfor metadata structuresupportsattribute does not apply to block variations, must use JS registrationExample Code Snippets
Refactoring / Review Checklist
References