Feature Overview

A detailed comparison between our core and custom themes.

At a glance

CoreCustomAdded by Custom
Patterns14019656
Thereof elements (Inserter: false)10199
Pattern categories77—
Templates8157
Template parts352
Style variations5127
Block variations—11
Function files52722
JavaScript modules—1414
Compiled stylesheets—55
SVG icons—1616
Placeholder media1313—

Patterns

196 patterns — 140 from Core, 56 added by Custom. The Figma column says whether the pattern has a counterpart in the Figma library.

FilenameCoreCustomFigmaDescription
accordion-1-static.php✓✓✓Accordion (static)
accordions-1-static.php✓✓✓Accordions 1 (static)
accordions-2-static.php✓✓✓Accordions 2 (static)
archive-grid-dynamic.php✓✓✓Archive grid (dynamic)
archive-intro-no-image-text-left-dynamic.php✓✓✓Archive Intro (dynamic)
back-to-top.php✓✓Back to top
breadcrumbs-1-dynamic.php✓✓✓Breadcrumbs (dynamic)
coming-soon.php✓✓Coming Soon (WooCommerce)
comment-dynamic.php✓✓Comment (dynamic)
comment-form-dynamic.php✓✓Comment Form (dynamic)
comments-one-column-dynamic.php✓✓Comments one column (dynamic)
comments-two-columns-dynamic.php✓✓Comments two columns (dynamic)
contact-form-static.php✓✓Contact Form (static)
contact-form-two-columns-static.php✓✓Contact Form two columns (static)
contact-info-static.php✓✓✓Contact Info (static)
contact-information-image-static.php✓✓✓Contact Information with Image (static)
contact-information-map-static.php✓✓✓Contact Information with Map (static)
contact-opening-times-static.php✓✓✓Contact Opening Times (static)
contact-person-dynamic.php✓✓✓Contact Person (dynamic)
contact-person-static.php✓✓✓Contact Person (static)
cta-boxed-text-centered-static.php✓✓✓CTA boxed text centered (static)
cta-boxed-text-left-static.php✓✓✓CTA boxed text left (static)
cta-centered-static.php✓✓✓CTA centered (static)
cta-left-static.php✓✓✓CTA left (static)
cv-static.php✓✓✓CV (static)
donation-form-dynamic.php✓✓✓Donation Form (dynamic)
downloads-static.php✓✓✓Downloads (static)
error-404-intro-static.php✓✓✓Error 404 Intro (static)
event-intro-dynamic.php✓✓✓Event Intro (dynamic)
event-teaser-static.php✓✓✓Events Teaser (static)
event-teasers-static.php✓✓✓Events Teasers (static)
fact-static.php✓✓✓Fact (static)
facts-2x2-grid-right-static.php✓✓✓Facts 2×2 grid right (static)
facts-big-image-static.php✓✓✓Facts big image (static)
facts-grid-counting-up-static.php✓✓Facts grid (counting up)
facts-grid-static.php✓✓✓Facts grid (static)
facts-slider-static.php✓✓Facts Slider (static)
featured-content-3-columns-circles-static.php✓✓✓Featured Content 3 columns circles (static)
featured-content-cover-box-bottom-static.php✓✓Featured Content cover box bottom (static)
featured-content-cover-box-left-static.php✓✓Featured Content cover box left (static)
featured-content-cover-box-right-static.php✓✓Featured Content cover box right (static)
featured-content-gallery-text-bottom-center-static.php✓✓Featured Content gallery text bottom center (static)
featured-content-gallery-text-bottom-right-static.php✓✓Featured Content gallery text bottom right (static)
featured-content-grid-images-left-static.php✓✓✓Featured Content grid images left (static)
featured-content-image-left-static.php✓✓✓Featured Content image left (static)
featured-content-image-right-static.php✓✓✓Featured Content image right (static)
featured-content-image-top-title-left-static.php✓✓✓Featured Content | image top title left (static)
filter-for-terms-static.php✓✓Filter for Terms (static)
footer-1-dynamic.php✓✓✓Footer 1 (dynamic)
footer-2-dynamic.php✓✓✓Footer 2 (dynamic)
footer-3-dynamic.php✓✓✓Footer 3 (dynamic)
footer-4-dynamic.php✓✓Footer 4 (dynamic)
footer-5-dynamic.php✓✓Footer 5 (dynamic)
gallery-1-left-2-right-static.php✓✓✓Gallery 1 left 2 right (static)
gallery-bento-static.php✓✓✓Gallery Bento Grid (static)
gallery-seamless-static.php✓✓✓Gallery seamless (static)
gallery-static.php✓✓✓Gallery (static)
glossary-static.php✓✓✓Glossary (static)
header-1-dynamic.php✓✓Header 1
header-2-dynamic.php✓✓Header 2
header-3-dynamic.php✓✓Header 3
header-4-dynamic.php✓✓Header 4
header-5-dynamic.php✓✓Header 5
header-6-dynamic.php✓✓Header 6
header-6-woo-dynamic.php✓✓Header 6 Woo
header-checkout-dynamic.php✓✓Header Checkout
header-fse-1-dynamic.php✓✓✓Header FSE 1
header-fse-2-dynamic.php✓✓✓Header FSE 2
header-fse-3-dynamic.php✓✓✓Header FSE 3
home-intro-no-image-text-left-dynamic.php✓✓✓Home Intro (dynamic)
interview-static.php✓✓✓Interview (static)
job-teaser-static.php✓✓✓Job Teaser (static)
job-teasers-static.php✓✓✓Job Teasers (static)
landingpage-intro-cta-static.php✓✓✓Landingpage Intro CTA (static)
logos-grid-static.php✓✓✓Logos grid (static)
logos-inline-static.php✓✓✓Logos inline (static)
mini-cart-contents.php✓Mini Cart Contents (WooCommerce)
navigation-overlay-1-dynamic.php✓✓Navigation Overlay
newsletter-subscription-dynamic.php✓✓✓Newsletter Subscription (dynamic)
order-confirmation.php✓Order Confirmation (WooCommerce)
page-intro-image-cover-text-center-dynamic.php✓✓✓Page Intro image cover | text center (dynamic)
page-intro-image-cover-text-center-static.php✓✓✓Page Intro image cover | text center (static)
page-intro-image-cover-text-left-dynamic.php✓✓✓Page Intro image cover | text left (dynamic)
page-intro-image-cover-text-left-static.php✓✓✓Page Intro image cover | text left (static)
page-intro-image-cover-textbox-left-dynamic.php✓✓✓Page Intro image cover | textbox left (dynamic)
page-intro-image-cover-textbox-left-static.php✓✓✓Page Intro image cover | Textbox left (static)
page-intro-image-cover-textbox-right-dynamic.php✓✓✓Page Intro image cover | textbox right (dynamic)
page-intro-image-cover-textbox-right-static.php✓✓✓Page Intro image cover | textbox right (static)
page-intro-image-left-text-right-dynamic.php✓✓✓Page Intro image left | text right (dynamic)
page-intro-image-left-text-right-static.php✓✓✓Page Intro image left | text right (static)
page-intro-image-middle-bottom-text-center-dynamic.php✓✓✓Page Intro image middle bottom | text center (dynamic)
page-intro-image-middle-bottom-text-center-static.php✓✓✓Page Intro image middle bottom | text center (static)
page-intro-image-middle-bottom-text-left-dynamic.php✓✓✓Page Intro image middle bottom | text left (dynamic)
page-intro-image-middle-bottom-text-left-static.php✓✓✓Page Intro image middle bottom | text left (static)
page-intro-image-middle-fullwidth-text-center-dynamic.php✓✓✓Page Intro image middle fullwidth | text center (dynamic)
page-intro-image-middle-fullwidth-text-center-static.php✓✓✓Page Intro image middle fullwidth | text center (static)
page-intro-image-middle-text-center-dynamic.php✓✓✓Page Intro image middle | text center (dynamic)
page-intro-image-middle-text-center-static.php✓✓✓Page Intro image middle | text center (static)
page-intro-image-right-text-left-dynamic.php✓✓✓Page Intro image right | text left (dynamic)
page-intro-image-right-text-left-static.php✓✓✓Page Intro image right | text left (static)
page-intro-image-seamless-left-text-right-dynamic.php✓✓✓Page Intro image seamless left | text right (dynamic)
page-intro-image-seamless-left-text-right-static.php✓✓✓Page Intro image seamless left | text right (static)
page-intro-image-seamless-right-text-left-dynamic.php✓✓✓Page Intro image seamless right | text left (dynamic)
page-intro-image-seamless-right-text-left-static.php✓✓✓Page Intro image seamless right | text left (static)
page-intro-image-top-fullwidth-text-center-dynamic.php✓✓✓Page Intro image top fullwidth | text center (dynamic)
page-intro-image-top-fullwidth-text-center-static.php✓✓✓Page Intro image top fullwidth | text center (static)
page-intro-image-top-fullwidth-text-left-dynamic.php✓✓✓Page Intro image top fullwidth | text left (dynamic)
page-intro-image-top-fullwidth-text-left-static.php✓✓✓Page Intro image top fullwidth | text left (static)
page-intro-image-top-fullwidth-textbox-overlap-left-dynamic.php✓✓✓Page Intro Image Top Fullwidth | Textbox Overlap Left (dynamic)
page-intro-image-top-fullwidth-textbox-overlap-left-static.php✓✓✓Page Intro Image Top Fullwidth | Textbox Overlap Left (static)
page-intro-no-image-text-center-dynamic.php✓✓✓Page Intro no image | text center (dynamic)
page-intro-no-image-text-center-static.php✓✓✓Page Intro no image | text center (static)
page-intro-no-image-text-left-dynamic.php✓✓✓Page Intro no image | text left (dynamic)
page-intro-no-image-text-left-static.php✓✓✓Page Intro no image | text left (static)
page-teaser-dynamic.php✓✓✓Page Teaser (dynamic)
page-teaser-static.php✓✓✓Page Teaser (static)
page-teasers-child-pages-dynamic.php✓✓✓Child Pages (dynamic)
page-teasers-dynamic.php✓✓✓Page Teasers (dynamic)
page-teasers-sibling-pages-dynamic.php✓✓✓Sibling Pages (dynamic)
page-teasers-static.php✓✓✓Page Teasers (static)
person-dynamic.php✓✓✓Person (dynamic)
person-intro-image-left-text-right-dynamic.php✓✓✓Person Intro image left | text right (dynamic)
person-intro-image-right-text-left-dynamic.php✓✓✓Person Intro image right | text left (dynamic)
person-static.php✓✓✓Person (static)
persons-dynamic.php✓✓✓Persons grid (dynamic)
persons-slider-static.php✓✓Persons slider (static)
persons-static.php✓✓✓Persons grid (static)
post-author-dynamic.php✓✓✓Post Author (dynamic)
post-intro-image-cover-text-center-dynamic.php✓✓✓Post Intro image cover | text center (dynamic)
post-intro-image-cover-text-left-dynamic.php✓✓✓Post Intro image cover | text left (dynamic)
post-intro-image-cover-textbox-left-dynamic.php✓✓✓Post Intro image cover | textbox left (dynamic)
post-intro-image-cover-textbox-right-dynamic.php✓✓✓Post Intro image cover | textbox right (dynamic)
post-intro-image-left-text-right-dynamic.php✓✓✓Post Intro image left | text right (dynamic)
post-intro-image-middle-bottom-text-center-dynamic.php✓✓✓Post Intro image middle bottom | text center (dynamic)
post-intro-image-middle-bottom-text-left-dynamic.php✓✓✓Post Intro image middle bottom | text left (dynamic)
post-intro-image-middle-fullwidth-text-center-dynamic.php✓✓✓Post Intro image middle fullwidth | text center (dynamic)
post-intro-image-middle-text-center-dynamic.php✓✓✓Post Intro image middle | text center (dynamic)
post-intro-image-right-text-left-dynamic.php✓✓✓Post Intro image right | text left (dynamic)
post-intro-image-seamless-left-text-right-dynamic.php✓✓✓Post Intro image seamless left | text right (dynamic)
post-intro-image-seamless-right-text-left-dynamic.php✓✓✓Post Intro image seamless right | text left (dynamic)
post-intro-image-top-fullwidth-text-center-dynamic.php✓✓✓Post Intro image top fullwidth | text center (dynamic)
post-intro-image-top-fullwidth-text-left-dynamic.php✓✓✓Post Intro image top fullwidth | text left (dynamic)
post-intro-image-top-fullwidth-textbox-overlap-left-dynamic.php✓✓✓Post Intro Image Top Fullwidth | Textbox Overlap Left (dynamic)
post-intro-no-image-text-center-dynamic.php✓✓✓Post Intro no image | text center (dynamic)
post-intro-no-image-text-left-dynamic.php✓✓✓Post Intro no image | text left (dynamic)
post-prev-next-dynamic.php✓✓✓Post Prev/Next (dynamic)
post-teaser-dynamic.php✓✓✓Post Teaser (dynamic)
post-teaser-featured-dynamic.php✓✓Post Teaser Featured (dynamic)
post-teasers-dynamic.php✓✓✓Post Teasers (dynamic)
post-teasers-featured-dynamic.php✓✓✓Post Teasers Featured (dynamic)
post-teasers-latest-posts-dynamic.php✓✓✓Latest Posts (dynamic)
post-teasers-related-posts-dynamic.php✓✓Related Posts (dynamic)
pricing-static.php✓✓✓Pricing (static)
process-bar-static.php✓✓✓Process Bar (static)
process-cards-3-columns-static.php✓✓✓Process Cards 3 Columns (static)
process-timeline-center-static.php✓✓Process timeline center (static)
process-timeline-left-static.php✓✓Process timeline left (static)
process-timestamp-static.php✓✓Process timestamp (static)
product-details-1-dynamic.php✓✓Product Details 1 (dynamic)
product-intro-1-dynamic.php✓✓Product Intro 1 (dynamic)
product-pagination.php✓Product Pagination
product-teaser-dynamic.php✓✓Product Teaser (dynamic)
product-teaser-single-product-dynamic.php✓✓Product Teaser Single Product (dynamic)
product-teasers-archive-dynamic.php✓✓Product Teasers Archive (dynamic)
product-teasers-best-sellers-dynamic.php✓✓Product Teasers Best Sellers (dynamic)
product-teasers-by-brand-dynamic.php✓✓Product Teasers by Brand (dynamic)
product-teasers-by-category-dynamic.php✓✓Product Teasers by Category (dynamic)
product-teasers-by-tag-dynamic.php✓✓Product Teasers by Tag (dynamic)
product-teasers-cross-selling-dynamic.php✓✓Product Teasers Cross-Selling (dynamic)
product-teasers-hand-picked-dynamic.php✓✓Product Teasers Hand-Picked (dynamic)
product-teasers-highlighted-dynamic.php✓✓Product Teasers Highlighted (dynamic)
product-teasers-new-arrivals-dynamic.php✓✓Product Teasers New Arrivals (dynamic)
product-teasers-on-sale-dynamic.php✓✓Product Teasers On Sale (dynamic)
product-teasers-related-dynamic.php✓✓Product Teasers Related Products (dynamic)
product-teasers-top-rated-dynamic.php✓✓Product Teasers Top Rated (dynamic)
product-teasers-up-selling-dynamic.php✓✓Product Teasers Up-Selling (dynamic)
quicklinks-static.php✓✓✓Quicklinks (static)
rich-text-2-columns-static.php✓✓✓Rich Text 2 columns (static)
rich-text-2-image-columns-static.php✓✓✓Rich Text 2 image columns (static)
rich-text-center-static.php✓✓✓Rich Text center (static)
rich-text-left-static.php✓✓✓Rich Text left (static)
rich-text-sidebar-right-static.php✓✓✓Rich Text sidebar right (static)
rich-text-toc-left-static.php✓✓Rich Text TOC left (static)
search-intro-dynamic.php✓✓✓Search Intro (dynamic)
search-result-dynamic.php✓✓✓Search result (dynamic)
search-results-dynamic.php✓✓✓Search results (dynamic)
share-print-static.php✓✓Share & Print (static)
skiplinks.php✓Skiplinks
tabs-1-static.php✓✓✓Tabs 1 (static)
tabs-2-static.php✓✓Tabs 2 (static)
testimonial-static.php✓✓✓Testimonial (static)
testimonials-slider-static.php✓✓Testimonials Slider (static)
testimonials-static.php✓✓✓Testimonials (static)
topics-2-dynamic.php✓✓✓Topics 2 (dynamic)
topics-dynamic.php✓✓✓Topics (dynamic)
video-static.php✓✓✓Video (static)

Templates

FilenameCoreCustomDescription
404.html✓✓404 error page
archive-product.html✓WooCommerce product archive
archive.html✓✓Archive listing (posts, categories, etc.)
coming-soon.html✓Coming soon page (WooCommerce)
front-page.html✓✓Front page
home.html✓✓Blog post listing
index.html✓✓Fallback template
order-confirmation.html✓WooCommerce order confirmation
page-cart.html✓WooCommerce cart
page-checkout.html✓WooCommerce checkout
page.html✓✓Single page
product-search-results.html✓WooCommerce product search results
search.html✓✓Search results
single-product.html✓WooCommerce single product
single.html✓✓Single post

Template Parts

FilenameCoreCustomDescription
checkout-header.html✓Checkout header (header-checkout-dynamic)
footer.html✓✓Footer (renders footer-1-dynamic)
header.html✓✓Header incl. skiplinks (renders header-fse-1-dynamic)
mini-cart.html✓WooCommerce mini cart
navigation-overlay.html✓✓Navigation overlay for mobile view

Styles (Style Variations)

FilenameCoreCustomTypeDescription
box-1.json✓✓Block styleBox style: white
box-2.json✓✓Block styleBox style: light grey
colors/00-full.json✓Theme style variationFull global theme style variation
colors/01-reduced.json✓Theme style variationReduced theme style variation
colors/02-minimal.json✓Theme style variationMinimal theme style variation
infobox-styles.json✓Block styleInfobox block styles
list-styles-checkmark.json✓Block styleList style: checkmark bullet
list-styles-contra.json✓Block styleList style: contra bullet
list-styles-pro.json✓Block styleList style: pro bullet
section-1.json✓✓Block styleSection style: white
section-2.json✓✓Block styleSection style: light grey
topic.json✓✓Block styleTopic component style

Block Variations

FilenameCoreCustomDescription
related-posts.php✓Block Variation: Related Posts (core/query)

Functions

Core loads its function files via glob(); Custom loads Core first and then its own files in an explicit order.

FilenameCoreCustomDescription
functions.php✓✓Include all functions from directory functions/
add-pattern-categories.php✓✓Register custom pattern categories
load-textdomain.php✓✓Load theme textdomain for internationalization
render-copyright-comment.php✓✓Renders a copyright HTML comment with ASCII art in the document head
setup-logo.php✓✓Register custom logo support
accessibility.php✓Modify external links in rendered blocks
add-menu-highlighting.php✓Add menu highlighting class for current page indicators
appicons.php✓Disable the default WordPress site icon
back-to-top.php✓Inject back-to-top button before closing body tag
comments.php✓Privacy checkbox in the comment form (the comment-disabling hooks are commented out)
dashboard.php✓Add custom post types to the “At a Glance” dashboard widget
editor.php✓Remove all default WordPress-patterns
load-icons.php✓Register the theme’s SVG icons with WordPress and inject the sprite into the footer
load-scripts.php✓Manage and optimize script loading
load-styles.php✓Manage and optimize stylesheet loading
localize-vars.php✓Script localization for JavaScript strings
login.php✓Customize WordPress login screen
media.php✓Set JPEG upload quality to 100%
modify-accordion-icon.php✓Modify accordion toggle icon
post-excerpt.php✓Disable auto-generated excerpts for pages if no manual excerpt is set
post-type-page.php✓Add post type support for pages
remove-default-skip-link.php✓Remove default block editor skip link
rest-api.php✓Restrict access to specific WP REST API endpoints
security.php✓Disable XML-RPC completely
setup.php✓Placeholder — contains only the ABSPATH guard
utilities.php✓Utility functions (phone number formatting)
woocommerce.php✓Add WooCommerce support

JavaScript

Core ships no JavaScript at all. Custom bundles 14 modules into assets/js/scripts-bundle.min.js; index.js is appended last.

FilenameCoreCustomDescription
_accordion.js✓Accordion: hidden-until-found
_back-to-top.js✓Back To Top
_count-up.js✓Count-up animation
_filter-for-terms.js✓Static Filter
_footer-navigation.js✓Responsive behaviour for multiple footer navigation menus
_header.js✓Sticky header, mobile toggle and scroll behaviour
_overlay.js✓Overlay navigation incl. submenus and search toggle
_share-print.js✓Share and Print Functions
_swiper.js✓Include Swiper JS
_tabs.js✓Tabs: deep link to the open tab
_target.js✓Smooth-scrolls any :target element into view
_toc.js✓TOC
_utilities.js✓Helper functions
index.js✓Entry point — initializes all modules on DOM ready

Stylesheets

Core carries no stylesheet of its own — all styling comes from theme.json. Custom compiles these entry points; the partials they import are build internals.

SourceOutputCoreCustomDescription
critical.scssassets/css/critical.min.css✓Above-the-fold CSS, inlined in the document head
editor.scssassets/css/editor.min.css✓Block editor styles
login.scssassets/css/login.min.css✓Login screen styles
print.scssassets/css/print.min.css✓Print styles
style.scssassets/css/style.min.css✓Main stylesheet

Icons

16 SVG files compiled into one sprite at assets/icons.svg, where the filename is the symbol ID.

IconCoreCustom
back✓
check✓
close✓
collapse✓
download✓
expand✓
external-link✓
forward✓
language✓
login✓
logout✓
menu✓
negative✓
positive✓
search✓
share✓

Assets

Asset groupCoreCustomFilesDescription
Placeholder media✓✓13Placeholder images, logos, person and video used by the patterns
App icons✓7Favicon, Apple Touch Icon, PWA icons and web manifest
Swiper (vendor)✓2Slider library, bundled locally — no CDN dependency
Fonts✓—Prepared directory — the theme ships with system fonts
Images✓—Prepared directory for theme images, optimized by the build
ACF field groups✓—Prepared sync directory for Advanced Custom Fields

Languages

The only place where Custom replaces Core instead of adding to it: both tiers use the same 4 filenames, so the custom files win in the merged build. Core carries 178 translatable strings, Custom 295.

FilenameCoreCustomDescription
de_DE.l10n.php✓✓German translation, PHP cache format (WordPress 6.5+)
de_DE.mo✓✓German translation, compiled binary
de_DE.po✓✓German translation, editable source
kb.pot✓✓Translation template — every translatable string in the theme

theme.json

Core holds the complete token system. The custom file is deep-merged on top at build time — objects override, arrays are replaced wholesale.

KeyCoreCustomWhat Custom changes
styles.blocks.core/button✓✓:active, :hover, border, css, variations
styles.blocks.core/list✓✓css
styles.blocks.core/file✓css
styles.blocks.core/query-pagination✓css
styles.blocks.woocommerce/product-image✓border
settings.spacing.units✓✓array replaced wholesale — 13 entries instead of 5