Add Jetpack, SEO plugin, Gutenberg, and Polylang integration - #28
Open
datengraben wants to merge 3 commits into
Open
Add Jetpack, SEO plugin, Gutenberg, and Polylang integration#28datengraben wants to merge 3 commits into
datengraben wants to merge 3 commits into
Conversation
- JetpackCompat: exclude cb_booking/cb_restriction from Jetpack Sync (personal booking data should not be transmitted to WordPress.com), skip Jetpack Photon for plugin asset URLs, and exclude Leaflet map containers from lazy-image rewriting (Leaflet populates these via JS) - SeoCompat: register cb_item and cb_location with Yoast SEO and Rank Math so item/location pages appear in XML sitemaps and receive proper title/meta template support - BlockPatterns: register a "CommonsBooking" block pattern category and four patterns (Search & Map, Map, My Bookings, Items Calendar) in the Gutenberg block inserter — each wraps an existing shortcode in a Classic block, requiring no JS - Polylang: switch email language to the recipient's preferred Polylang language before building the mail body in Message::prepareMail(), and reset to the site default after sending — mirrors the existing WPML integration All hooks are guarded by feature-detection checks (defined/function_exists) so there is zero overhead on sites without these plugins. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U9JLgmjagwqfagmzF5EJMt
Add missing doc comments for init(), registerPatternCategory(), and registerPatterns() methods. Add @param descriptions to all docblocks. Rename $include to $enabled in SeoCompat to avoid the reserved-keyword parameter name warning. The remaining cb_-prefix and Wordpress-namespace warnings are pre-existing project-wide patterns present in every file and are not introduced here. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U9JLgmjagwqfagmzF5EJMt
The phpcbf/phpcs run generates .cache-phpcs-free.cache (as configured in .phpcs.xml.dist). Add it to .gitignore so it is not flagged as an untracked file. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U9JLgmjagwqfagmzF5EJMt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JetpackCompat: exclude cb_booking/cb_restriction from Jetpack Sync
(personal booking data should not be transmitted to WordPress.com),
skip Jetpack Photon for plugin asset URLs, and exclude Leaflet map
containers from lazy-image rewriting (Leaflet populates these via JS)
SeoCompat: register cb_item and cb_location with Yoast SEO and Rank
Math so item/location pages appear in XML sitemaps and receive proper
title/meta template support
BlockPatterns: register a "CommonsBooking" block pattern category and
four patterns (Search & Map, Map, My Bookings, Items Calendar) in the
Gutenberg block inserter — each wraps an existing shortcode in a Classic
block, requiring no JS
Polylang: switch email language to the recipient's preferred Polylang
language before building the mail body in Message::prepareMail(), and
reset to the site default after sending — mirrors the existing WPML
integration
All hooks are guarded by feature-detection checks (defined/function_exists)
so there is zero overhead on sites without these plugins.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01U9JLgmjagwqfagmzF5EJMt