Generated styles and scripts
POM Theme creates optimized styles and scripts from the settings and page-builder content of the current site. This lets a site use its own colors, typography, spacing, backgrounds, header, footer, cookie notice, and element styles without loading every possible theme rule.
Generation normally happens automatically when relevant settings or page content are saved.
Activating POM materializes every missing Theme Option settings file from the current field defaults before the first generated bundle is requested. Existing settings files and externally stored WordPress options are preserved on reactivation. After successful initialization, the activating administrator is redirected to Compile assets with the complete CSS and JavaScript build already starting. A failed settings initialization leaves the compiler unopened and reports the write error in WordPress administration.
When to regenerate
Regenerate the files when:
- a saved Theme Option does not appear on the frontend;
- page-builder spacing, border, or background changes remain stale;
- generated files were removed during a migration or deployment;
- a cache was restored from another version of the site;
- support asks you to rebuild POM assets.
You do not need to regenerate after every ordinary content edit.
Regenerate from WordPress
- Go to Settings → POM Theme → Tools.
- Open Compile assets.
- Choose Compile CSS and JavaScript, Compile CSS, or Compile JavaScript.
- Follow the progress bar and its current compilation step until the success message appears.
- Clear the active page cache.
- Open the affected public page while signed out.
Use Compile CSS for stale site-wide styles, Compile JavaScript for a generated script problem, and Compile CSS and JavaScript after a deployment, migration, or change that can affect both families. Each selected family is compiled into temporary files, validated, and published together while the site-wide generation lock is held. A failed compiler or validation step leaves that selected public family unchanged.
Only one Compile assets request can run for a site at a time. A second browser tab, user, or automatic start is rejected immediately instead of waiting and starting another compilation later. The first request keeps its exclusive tool lock through asset publication and the final discovery refresh, and releases it automatically whether the run succeeds, fails, or the request ends.
Administrators can also select Generate assets in the WordPress administration bar. Editors and Shop managers can use the same action when their Pomatio user profile has Advanced enabled. The link opens Compile assets in a new browser tab and immediately starts Compile CSS and JavaScript. Authorized users can then choose a CSS-only or JavaScript-only build from the same screen. This access does not expose the adjacent settings import/export tool. The administration-bar link itself performs no background request on the page from which it was opened.
Every successful compilation refreshes the shared timestamp in generated asset URLs, even when the compiled content already matches the files on the server. Identical files keep their existing modification times. Failed compilation or publication keeps the previous asset version. Clear the page cache after compilation so public pages reference the refreshed URLs.
Page-specific styles
POM includes the screen-reader-text accessibility rules in its general compiled stylesheet, independently of WooCommerce. Regenerate CSS and clear the page cache after updating those theme styles. Preserve both the hidden and keyboard-focus rules in any saved Visibility and display utilities replacement or page CSS that replaces the general stylesheet. When critical CSS delays the general stylesheet, include equivalent rules there so the text is visually hidden from the first paint. See accessible visually hidden text.
Rows and columns can create page-specific CSS for spacing, borders, and backgrounds. POM updates that page's stylesheet when the page is saved.
Reusable blocks also load their own generated styles wherever they appear, including global header and footer positions.
If one page remains stale while the rest of the site is correct:
- edit and update that page;
- clear the page cache;
- confirm that the public page loads the current page-specific stylesheet;
- check whether custom page CSS intentionally replaces generated styles.
Cookie notice and conditional features
Some features load a separate script only when enabled and needed. This includes the cookie notice and supported panels or media behaviors. A separate request in the browser is therefore not automatically an error. When the cookie notice is enabled, regeneration publishes readable cookie-consent.css and optimized cookie-consent.min.css from the same final CSS stream; when disabled, the runtime enqueues neither its stylesheet nor its script.
Custom CSS and JavaScript snippets
Custom CSS and JavaScript repeater rows keep their readable source files for editing in Settings → POM Theme → Advanced. Saving either section also creates a minified sibling file, and public pages load that optimized copy.
An empty global JavaScript editor does not block asset generation. POM omits that source and continues compiling the remaining styles and scripts.
Sites upgraded from an earlier theme version do not require a manual migration. When a public request finds a readable source without its minified sibling, that request continues with the readable source and generates the optimized copy for subsequent requests. If generation fails, the readable source remains the safe frontend fallback.
External script URLs are never downloaded or rewritten. JSON-LD rows continue through their dedicated JSON serialization path instead of JavaScript minification.
Component CSS replacements
Settings → POM Theme → Advanced → Custom CSS exposes collapsed editors for the supported generated component fragments. The active editors follow the first position they own in website.min.css: Base and body; animations; grid, including push and pull; tables; helpers and utilities; optional page border; Header; Side and mobile navigation; Offcanvas shortcode; optional Fullscreen navigation; optional navigation search; Advanced search form controls; header title and subheader; Footer; optional side buttons; Quick View; widgets; portfolio; blog and post content; visibility and display utilities; notifications; links; drop caps; forms; pagination; info boxes; content boxes; icon boxes; image boxes; shared icons and media indicators; images and animated media; optional contact dock, More Content, product meta, and reading progress; typography; buttons; and optional Theme extension styles appended by a compatible active integration.
This is complete coverage of the generated main bundle: 38 logical components own 41 physical replacement slots, and every CSS declaration that reaches website.min.css belongs to one of them. Build-only Sass variables, functions, mixins, and marker infrastructure emit no declarations and are not editor candidates. Conditional components remain absent from the screen and bundle while their original condition is false.
Opening an editor loads readable canonical CSS from the current theme and site settings. A successful normal asset generation caches the canonical fragments it already compiled, and a reasonably sized complete payload is embedded into the settings page so opening an accordion normally requires neither another Sass pass nor an AJAX request. Current canonical sources use an exact readable-source fingerprint, avoiding a full Sass recompilation of every fragment on each administrator page load. The embedded administrator payload uses the current slot representation without duplicating the single-slot convenience fields, reducing its transfer and parsing cost. A cache miss compiles and caches the complete component set without publishing a file.
The administrator compares that read-only source with the editable working copy through MergeView from the WordPress code editor and the theme's pinned diff-match-patch engine. The read-only Theme CSS pane has a gray background so the white editable pane is immediately recognizable. Removed and added regions use distinct pink and green backgrounds, while corresponding chunks stay vertically aligned; blank alignment space therefore represents actual added or removed lines. Lightweight color bookmarks scan only the visible CodeMirror lines, add previews for recognized hexadecimal and functional color values, and refresh on a short debounce while typing or scrolling. The shared search field scans every active editable component, independent asset, and shortcode asset from the already available payload, including unopened accordions. It also reads the live Global CSS, Custom CSS repeater, and Critical CSS editors available on the page. Cmd+F or Ctrl+F focuses that field from anywhere on the Custom CSS screen. Next or previous navigation refreshes unsaved values and the current repeater rows, opens the matching accordion or row, and selects the occurrence. Component comparisons are still created only when matched, preserving CodeMirror's virtual viewport. A progressively enhanced plain source-and-textarea layout remains available when syntax highlighting or MergeView is unavailable.
Saving preserves the editable source for that site and rebuilds the complete generated asset set. The override replaces its canonical fragment at the same position inside website.min.css; it is not appended as global CSS and does not create another frontend request. Copying current Theme CSS into the editor changes only the unsaved working copy, whereas reverting removes the registered override and rebuilds the public assets.
Base and body occupies the first complete structural fragment. It opens with the 15 generated --color-main-* properties on :root, then owns document normalization, box sizing, body layout and overflow, and the configured solid, gradient, or image background. Animations occupies the immediately following complete fragment and preserves the existing fade, collapse, loading, pulse, typing, and spin output without moving it. Grid follows as the first complete layout fragment and combines responsive containers, rows, columns, gutters, alignment helpers, stacking rules, and the base-through-large push-* and pull-* positioning helpers. Tables follows that contiguous Grid fragment and now begins with native table, caption, and heading normalization before its component rules. Helpers and utilities then owns the complete low-level utility layer, including its retained Bootstrap imports and theme-specific color classes and other helpers. Its text, background, and border palette utilities resolve those Base-owned root properties instead of compiling duplicate hexadecimal values. Keeping that layer together avoids moving cross-cutting utility declarations to later component owners merely because some selectors mention images, navigation, animations, or separators.
Forms begins with browser normalization for non-button form elements before its complete controls and generated settings. Buttons begins with the corresponding button-only normalization before the complete button system. Typography owns global body font smoothing, family, size, weight, line height, and color together with native text-element defaults, generic code presentation, selection colors, font faces, structural content typography, and its generated Theme Options. Moving these foundations from Base changes their physical ownership but not their declarations; their low-specificity defaults remain before the more specific rules inside each owning component.
Header occupies the former navbar position and combines the shared navigation foundation with the generated main-navigation, Top bar, Bottom bar, font-family, state, color, spacing, responsive rules, and Mega menu label heading family in one replaceable fragment. A shared data-only font context resolves custom-font names once, while Header owns the navigation rules and Typography retains font-face plus content typography output. When the configured heading and body fonts differ, Widgets owns the generated widget-title family and Drop caps owns the generated third-variant family at their respective component positions. Typography and Buttons each occupy one complete late fragment. Their structural Sass and remaining CSS generated from current Theme Options are compiled together, so each component has one comparison, one readable custom source, and one replacement position.
Footer is deliberately different: one logical accordion owns two physical slots. The Footer structure slot wraps the base footer partial at its original component position, while Footer row settings wraps the configured row-spacing partial in the late settings block. Both comparisons are saved and reverted as one customization, but each readable source replaces only its own original slot. This avoids moving footer structure across intervening selectors or moving dynamic spacing earlier in the cascade.
Side and mobile navigation uses the same multi-slot model for a different ownership boundary. Its structure slot contains the physically consolidated side-navigation and mobile-navigation panels, shared side-cart shell, overlay, controls, and responsive widths. Its Navigation integration slot contains the generated side-header positioning and shared side/right-navigation menu-state behavior. Its settings slot contains the generated side and mobile backgrounds and mobile-menu colors. The structure remains at its earlier component position; Navigation integration remains after Buttons, and settings follows it immediately in the late settings block. The generic Offcanvas shortcode editor owns its complete static partial at the immediately following position after the earlier structure slot. The WooCommerce advanced-filter offcanvas shell belongs to its conditionally enqueued stylesheet and is no longer part of website.min.css; neither panel is replaced by a Side and mobile navigation override.
Fullscreen navigation owns one complete conditional fragment immediately after Offcanvas shortcode. Its structural partial and the background and menu-state CSS generated from current Header settings compile together at the former navbar-full position. Disabling Full screen navigation keeps any saved replacement portable but removes both the Theme CSS and its editor until the feature is enabled again.
Search owns one complete conditional fragment immediately after Fullscreen navigation. Its structural partial and the inline-search colors generated for the main Header and every additional Header color preset compile together at the former search-partial position. Disabling Search form keeps any saved replacement portable but removes both the Theme CSS and its editor until the feature is enabled again.
Advanced search form controls owns the complete _wpas.scss fragment immediately after Search and before Header title and subheader. It remains unconditional because the bundled WP Advanced Search framework can emit its radio and checkbox list markup independently of the native navigation Search setting.
Visibility and display utilities owns the complete _visibility.scss fragment immediately after Blog and post content and before Notifications. Its Bootstrap display loops emit base, responsive, and print helpers; the same component also owns the screen-reader mixin output and the page builder's four web-hide-on-* device classes. The component is unconditional and retains its established late utility position.
Theme extension styles owns the suffix that compatible callbacks append through pom_add_custom_styles. It is captured after the filter runs once and remains at the exact final position of that filtered settings block, after Typography, Buttons, Side/mobile navigation integration and settings, and Footer row settings. A saved override replaces only that appended suffix; it is never passed back through the filter and the received Theme CSS prefix remains unchanged. The accordion is omitted when no callback is registered or the current callbacks append no CSS. Its saved source remains registered while the extension output is unavailable.
The remaining registered components map to one stable Sass partial each. Page border, Fullscreen navigation, Search, Side buttons, Contact dock, More Content, Product meta, and Reading progress appear only while the same condition that imports their Theme CSS is active. Theme extension styles follows the availability of compatible appended filter output. A saved conditional override remains registered while its feature or integration output is unavailable, but it is neither shown nor inserted into the empty fragment; restoring that output restores both the editor and replacement. Header, Side and mobile navigation, Offcanvas shortcode, Header title and subheader, Footer, and Visibility and display utilities are always available. Cross-component selectors remain with their source owner: Quick View trigger-button styling stays in Buttons, the Mega menu label heading family stays in Header, widget-title heading-family styling stays in Widgets, and the third drop-cap heading-family styling stays in Drop caps.
If the canonical fragment changes after an override was saved, the editor reports that its source changed. An unreadable saved source is reported separately while the editor safely falls back to the current canonical fragment. Reverting removes the override, rebuilds the asset set, and restores the current canonical fragment. A failed generation restores the previous override state before releasing the site-wide generation lock and leaves the last valid public assets in service.
The existing settings export includes the component and independent-asset registries, their readable CSS sources, and optimized independent copies. After importing those settings into another site, regenerate assets before verifying the frontend so website.min.css reflects transferred component replacements. Valid independent and shortcode replacements can resolve immediately through the transferred optimized files.
Independently and conditionally enqueued CSS replacements
The same Custom CSS screen has a separate Independent CSS assets group for theme stylesheets that load outside website.min.css. Together with Shortcode CSS assets, it covers all 45 separate frontend stylesheets maintained by the theme: 21 shared or feature assets and 24 shortcode assets. Each optimized canonical file has a readable sibling derived from its exact final token stream. These editors reuse the comparison and source-change interface, but saving does not rebuild or modify the main bundle. The original WordPress handle or browser-side lazy-loading boundary, dependencies, and request condition remain unchanged; only the selected stylesheet URL and version change while a valid customization is active.
Forms frontend, Flickity, PhotoSwipe, Isotope, Datetimepicker, WooCommerce, Faceted Search, Cookie consent, Toast notifications, Swiper, Modal, Tooltip, Share, Post navigation, Full-page feed, Author page, Advanced filters, Rating, Tabs, Accordion, and Social icons are the supported assets. Without an override, the Forms runtime continues loading the theme's original forms-frontend.min.css, the render-blocking manifest uses Webpack's optimized woocommerce.min.css whenever WooCommerce is active, Faceted Search uses Webpack's optimized faceted-search.min.css whenever its existing discovery requests the feature, Cookie consent uses the current site's generated optimized stylesheet whenever its notice is enabled, each style manifest continues exposing its other registered optimized stylesheets through their established handles, the PhotoSwipe loader continues deriving its original stylesheet URL only after gallery intent, and a full-screen Gallery continues enqueueing the original swiper.min.css directly. Saving writes the readable per-site source, creates its minified sibling, and records both fingerprints under the site-wide asset lock. Forms, Faceted Search, and Swiper resolve their direct enqueues through the shared service; registered stylesheets, including Cookie consent, are resolved once at their owning conditional, asynchronous, or render-blocking manifest boundary; and PhotoSwipe resolves only the lazy stylesheet URL attached to its existing loader. Reverting disables that selection before removing both files, so the current optimized asset becomes active immediately. A missing, stale, or altered custom file also fails closed to the current asset instead of serving a partial customization.
The registry-level resolver changes only uri and version when a valid custom registered asset exists. It does not rename a handle, alter dependencies, media, or delivery metadata, require a feature, or change which shortcode, template, discovery manifest, post-type setting, archive context, or WooCommerce feature requests it. Flickity therefore retains load_strategy: preload, fetchpriority: low, its asynchronous stylesheet promotion and no-JavaScript fallback, every carousel, carousel-feed, slider, gallery, finder, merge-tag, WooCommerce and stored-discovery request path, and the associated web_carousel script. PhotoSwipe remains a deliberate exception to the style registry: web-photoswipe still loads only on qualifying gallery, single-image-lightbox, or discovered-content requests, and its loader still waits for pointer, focus, keyboard, URL-hash, or click intent before creating either runtime asset. A valid override adds one inline configuration object to that already required loader, replaces only the runtime stylesheet URL, leaves photoswipe.min.js and its version derived from the loader, and preserves direct image navigation on failure. Isotope retains the same deferred stylesheet delivery, masonry and image-only listing/archive/shop/search/faceted-search conditions, stored-content discovery, and the associated web-isotope script. Datetimepicker retains the date, time, and datetime POM form-field condition; finder date-field paths; booking finder and calendar-feed paths; configured WooCommerce delivery-calendar condition; stored-content discovery; and associated web-datetimepicker script. WooCommerce resolves through the render-blocking manifest only while pom_is_woocommerce_active() is true; web-woocommerce remains before website.min.css, and the existing main-style adjustment continues making the generated bundle the later theme override layer. The independent replacement neither restores WooCommerce core styles nor changes any template or script. Faceted Search remains gated first by its global setting and then by the existing early discovery, shortcode, widget, and late-render decisions in Pom_Fsearch_Display. An override changes only the pom-fsearch-front stylesheet URL and version; the paired pom-fsearch-front JavaScript, facet-specific scripts, head discovery, late style printer, and pages that request the feature remain unchanged. Cookie consent remains gated by pom_is_cookie_notice_enabled() and keeps the web-cookie-consent-style asynchronous preload, low fetch priority, media="all", stylesheet promotion, <noscript> fallback, and original asynchronous JavaScript. Its readable and minified canonical files publish atomically with the selected generated CSS family, or with the complete generated set when both families are compiled. A valid override replaces only the stylesheet URI and version. Cookie-style setting changes continue regenerating the canonical files and flag an older saved source for review, but do not silently replace that saved customization; disabling the notice hides its editor and loads neither asset while retaining the saved source for a later re-enable. Toast notifications resolves through the same manifest only when the global toast_notifications setting already exposes web-toastr-lib; its CSS URL can change while the same JavaScript handle, ordinary delivery, Forms dependencies, and WooCommerce add-to-cart consumer remain untouched. Swiper remains a direct-enqueue exception: only a rendered web_gallery with gallery_style="full_screen" requests pom-swiper, and an override changes only that handle's CSS URL while retaining ordinary delivery, the original pom-swiper script, and the dependent pom-fullpage initializer. The runtime style-handle map intentionally contains no localized UI text because this manifest is read before init; the full labels and descriptions remain confined to the administrator payload. Tooltip likewise retains its preload strategy, low fetch priority, asynchronous promotion, and <noscript> fallback while its selected URL changes. Share retains the existing share feature mapping and its associated web-post-email-sharing script. Post navigation remains controlled by the existing per-post-type singular-view setting. Full-page feed retains shortcode and archive discovery of feed_fullpage together with web-feed-fullpage. Author page retains both direct is_author() resolution and stored author-box markup discovery. Advanced filters retains the existing WooCommerce shop and product-taxonomy condition, stored-markup discovery, and its associated pom-woocommerce-advanced-filters script. Rating retains the single-post setting, supported product-review request, stored .web-rating discovery, and the web-post-rating script and localized voting data paired with its feature. Tabs retains the web_tabs module mapping, default WooCommerce product-tab path, taxonomy-term thumbnail stylesheet dependency, stored .web-tabs and tab-toggle discovery, and the web-bootstrap-tab script wherever the complete feature was already requested. Accordion retains the web_accordion module mapping, product-tab and checkout accordion paths, stored accordion-markup discovery, web-bootstrap-collapse, and the module's additional web_accordion script. Social icons retains the web_social_icons module mapping, the live module's early return when no networks are configured, compatible stored-content discovery, and its stylesheet-only behavior without an associated script. Future centrally registered independent stylesheets can reuse this path by declaring their existing handle in the independent-asset registry instead of adding resolver calls to each consumer.
Shortcode styles reuse the same transactional source and registry while resolving at the compiled module-style registration boundary. 360 image, A-Z feed, Audio playlist, Blockquote, Breadcrumbs, Cookies info table, Countdown, Counter, FullCalendar, Gallery, Instagram, Image comparer, and Interactive infography are the supported shortcode assets. The web-360-image handle remains requested only by the existing 360_image module dependency and stored-content discovery, and its web_360_image script remains unchanged. When the managed stylesheet is selected, relative Pannellum image references are rebased to the canonical theme distribution directory because the custom file is served from the per-site settings tree. The web-a-z-feed handle likewise remains requested only by the existing a_z_feed module dependency and discovery paths; that module is stylesheet-only, so editing it does not add or replace JavaScript. The web-audio-playlist handle remains paired with the existing audio_playlist module, while the separate web_audio_playlist script retains its web-theme-js dependency and playback behavior. The web-blockquotes handle remains requested only by the existing blockquotes module and web_blockquote discovery paths; it has no associated script. The web-breadcrumbs handle remains requested only by the existing breadcrumbs module and web_breadcrumbs discovery paths; it is also stylesheet-only and does not alter the breadcrumb generator. The web-cookies-info-table handle remains requested only by the existing cookies_info_table module and web_cookies_info_table discovery paths; it has no associated script and does not alter configured cookie data or disclosure markup. The web-countdown handle remains requested only by the existing countdown module and web_countdown discovery paths; its paired web_countdown script retains the same footer delivery, empty dependency list, target-date calculation, and one-second update interval. The web-counter handle remains requested only by the existing counter module and web_counter discovery paths; its paired web_counter script retains the same footer delivery, empty dependency list, viewport detection, initial zero state, and one-second numeric animation. The web-fullcalendar handle remains requested only by the separately appended fullcalendar module and web_fullcalendar discovery paths. Its web_fullcalendar script continues loading in the footer after web-theme-js, preserving the localized webData dependency, view initialization, product-taxonomy request data, loading overlay, and pom_get_fullcalendar_events AJAX lifecycle. The web-gallery handle remains requested only by the gallery module and web_gallery discovery paths. That module retains both web_carousel and web_gallery; the former keeps its web-theme-js dependency and exposes Flickity for the latter's thumbnail navigation. Renderer and discovery conditions continue adding the lazy web-photoswipe loader only to lightbox-capable layouts, web-flickity-style to carousel layouts, Isotope to masonry, and direct pom-swiper plus dependent pom-fullpage assets only to full_screen. The web-instagram handle remains requested only by the instagram module and web_instagram discovery paths. That module is stylesheet-only, so its editor changes no script registration or delivery. The web-image-comparer handle remains requested only by the image_comparer module and web_image_comparer discovery paths. Its paired web_image_comparer script continues bundling Juxtapose, reading the existing image attributes, and initializing the responsive slider at 50 percent. The web-interactive-infography handle remains requested only by the interactive_infography parent module and web_interactive_infography discovery paths. The parent declares no script dependency; nested spot modes continue requesting shared Tooltip or Modal features through their existing renderer branches. Pages that do not require the matching module continue loading neither its stylesheet nor its paired module scripts. Future shortcode assets can use the same handle resolver without adding override branches to their render callbacks.
The theme CSS build produces parallel outputs for every maintained distribution stylesheet. Each .min.css keeps the historical production compiler path used by the frontend, and its final token stream is formatted into the .css editor sibling without changing declarations. Deriving the readable copy from the exact optimized result also protects against third-party packages whose nominally unminified and minified files are not equivalent. This keeps existing minified files byte-stable while providing readable canonical sources and does not add frontend requests.
Parallax scene is also a supported shortcode asset. Its web-parallax-scene handle remains requested only by the parallax_scene parent module and web_parallax_scene discovery paths. The existing web_parallax_scene script continues bundling parallax-js, selecting .web-parallax-layer children, and honoring their X and Y depths together with the parent's relative-input, hover-only, and pointer-event configuration. Saving a stylesheet replacement changes none of those script, shortcode, child-layer, or conditional-loading contracts.
Pricing list is also a supported shortcode asset. Its web-pricing-list handle remains requested only by the pricing_list parent module and web_pricing_list discovery paths. The module declares no script dependency, and saving a stylesheet replacement changes none of the parent wrapper, nested web_pricing_list_item rendering, content attributes, optional image behavior, responsive visibility, or conditional-loading contracts. A titled child icon retains its existing independent Tooltip feature request.
Progress bars is also a supported shortcode asset. Its web-progress-bars handle remains requested together with the existing web_progress_bars script only by the progress_bars module and web_progress_bar discovery paths. Saving a stylesheet replacement changes none of the script initialization, one-second count animation, percentage mask, calculated fill width, static-number mode, thickness variants, shortcode attributes, or conditional-loading contracts.
Scroll-triggered image sequence is also a supported shortcode asset. Its web-scroll-triggered-image-sequence handle remains requested together with the existing web_scroll_triggered_image_sequence script only by the scroll_triggered_image_sequence module and web_scroll_triggered_image_sequence discovery paths. Saving a stylesheet replacement changes none of the first-frame priority, IntersectionObserver boundary for remaining image frames or video loading, GSAP ScrollTrigger pinning, scroll-to-frame or scroll-to-video calculations, canvas sizing, media fit, spinner, nested web_scroll_triggered_image_sequence_text stages, or conditional-loading contracts.
Taxonomy terms list is also a supported shortcode asset. Its web-taxonomy-terms-list handle remains requested only by the taxonomy_terms_list module and web_taxonomy_terms_list discovery paths. The module declares no script dependency. Saving a stylesheet replacement changes none of the selected-taxonomy query, empty-term filtering, alphabetical and numeric grouping, populated or unavailable index characters, term archive links, optional return-to-top links, shortcode attributes, or conditional-loading contracts.
Testimonial is also a supported shortcode asset. Its web-testimonial handle remains requested only by the testimonial module and web_testimonial discovery paths. The module declares no script dependency. Saving a stylesheet replacement changes none of the three visual variants, style 2 author placement, portrait lazy-loading attributes, quotation, author and source markup, shortcode attributes, responsive behavior, or conditional-loading contracts.
Timeline is also a supported shortcode asset. Its web-timeline handle remains requested only by the timeline module and web_timeline discovery paths. The module declares no script dependency. Saving a stylesheet replacement changes none of the item parsing, list structure, odd/even alternation, content, point and date elements, palette classes, shortcode attributes, or conditional-loading contracts.
Typed text is also a supported shortcode asset. Its web-typed-text handle remains requested together with the existing web_typed_text script only by the typed_text module and web_typed_text discovery paths. Saving a stylesheet replacement changes none of the fixed or animated strings, Typed.js initialization, writing and deletion speeds, looping, cursor configuration, generated heading and spans, readiness class, shortcode attributes, or conditional-loading contracts.
Video is also a supported shortcode asset. Its web-video handle remains requested together with web_video and web-jarallax-video only by the video module and web_video discovery paths. Saving a stylesheet replacement changes none of the provider normalization, source attributes, inline and fullscreen markup, VideoWorker initialization, playback and pause, autoplay modes, looping, controls, responsive aspect ratios, poster behavior, modal lifecycle, Escape handling, custom-player path, script dependencies, shortcode attributes, or conditional-loading contracts.
Code block themes are also supported shortcode assets. The contiguous web-code-block-prism-light and web-code-block-prism-dark editors resolve independently through the existing prism_theme conditional map: light selects only the light handle, dark selects only the dark handle, and none selects neither. The web_code_block script remains unconditional for a rendered Code block and preserves language aliases, Prism token generation, the highlighted marker, wrapper scope, shortcode attributes, and stored-content discovery.
Caching
After regeneration, a previously cached HTML page can still reference an older file version. Clear the site's page or CDN cache using its documented controls, then test in a private browser window.
Avoid deleting generated files manually. Regeneration and normal cache controls provide a safer recovery path.
Troubleshooting
The tool reports an error
Check that WordPress can write to the current site's uploads directory and that available disk space is sufficient. Retry once after correcting the cause.
The tool succeeds but the design is unchanged
- Clear the page and CDN cache.
- Reload while signed out.
- Check whether the setting was saved for the correct site.
- Check for page-level custom CSS or a child theme override.
- Update the affected page if only its layout styles are stale.
Only one role sees the problem
Review role-targeted custom CSS and content visibility. A role-specific presentation can intentionally differ from the public version.
For developers
The public helper pom_generate_custom_assets() can request a complete site-wide regeneration from an approved integration. It returns a structured result describing success, whether anything changed, errors, and generated files.
Call it only after an intentional settings or maintenance action. Do not regenerate the complete bundle on normal frontend requests.
The supported pom_add_custom_styles filter still runs exactly once and receives the same marker-free late generated-style block at its established cascade position. That block includes the complete Typography and Buttons fragments—their structural rules plus their Theme Option output—together with the owned Navigation integration slot and the late Side/mobile and Footer settings. Header, Fullscreen navigation, and Search are emitted earlier at their original component positions and are no longer part of the filtered input.
Integrations should return the received CSS unchanged followed by their additional rules. POM recognizes that exact prefix-preserving contract and exposes only the appended suffix as Theme extension styles. A callback that prepends, removes, or rewrites the received block is preserved as returned for backward compatibility, but its output is not claimed by the extension editor because no safe suffix boundary exists.