fix: Block shortcode rendering during page template loading
All checks were successful
Create Release Package / build-release (push) Successful in 1m2s

- Added $loading_page_template flag in TemplateLoader
- template-wrapper.php sets flag before loading theme header/footer
- Shortcodes::render_template() returns early if flag is set
- Prevents recursion from theme components, widgets, or other plugins

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-02 17:09:16 +01:00
parent eb85870909
commit a41eddbc49
5 changed files with 63 additions and 5 deletions

View File

@@ -13,7 +13,10 @@ if ( ! defined( 'ABSPATH' ) ) {
use WP_FediStream\Plugin;
use WP_FediStream\Frontend\TemplateLoader;
// Enter shortcode context to prevent recursive shortcode processing in post content.
// Enter page template loading mode - this completely blocks nested FediStream rendering.
TemplateLoader::enter_page_template_loading();
// Also enter shortcode context to prevent recursive shortcode processing in post content.
TemplateLoader::enter_shortcode_context();
// Get template context.
@@ -78,7 +81,8 @@ get_header();
</main>
<?php
// Exit shortcode context.
// Exit shortcode context and page template loading mode.
TemplateLoader::exit_shortcode_context();
TemplateLoader::exit_page_template_loading();
get_footer();